On Fri, Jun 06, Lukas Ocilka wrote:
Josef Reidinger wrote:
If everything work good this is not hard. In commit code it is separated, only we need instead providing file when needed, provide it to queue (producer and consumer) and install when queue is not empty. But if something happen what to do? Do we expect more then one failure (because download and install can both cause fail), also I am now sure if libzypp is prepared for multithread aplication. Also we must provide two progress, one for download and one for installation. Does YaST expect multithread libzypp? E.g. one callback is called and what happen if another is called and YaST still does work on first?
The callbacks will be serialized, so yast/zypper can process them one by one. But each callback may be related to a different task, as there are multiple tasks running at the same time.
That sound like a very good deliberation about pros and cons of libzypp and YaST capabilities for running in multiple threads.
About answers to your questions: Franky, I don't know, but the important part was to start a discussion :) I hope that both YaST and libzypp gurus will join it.
PS: If we use separate threads for downloading and installation, there should be a limit on maximum of files / data size downloaded into queue (cache size).
Yes. -- cu, Michael Andres +------------------------------------------------------------------+ Key fingerprint = 2DFA 5D73 18B1 E7EF A862 27AC 3FB8 9E3A 27C6 B0E4 +------------------------------------------------------------------+ Michael Andres YaST Development ma@novell.com SUSE LINUX Products GmbH, GF: Markus Rex, HRB 16746 (AG Nuernberg) Maxfeldstrasse 5, D-90409 Nuernberg, Germany, ++49 (0)911 - 740 53-0 +------------------------------------------------------------------+ -- To unsubscribe, e-mail: zypp-devel+unsubscribe@opensuse.org For additional commands, e-mail: zypp-devel+help@opensuse.org