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?
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). Thanks Lukas