Tom Mueller wrote:
johan...@sun.com wrote:
The transport uses a single libcurl multi-handle, which means that if
multiple threads are going to use the transport, we have to serialize
callers of multi_perform() for our handle. All of the client is single
threaded, and I haven't seen any documentation from the GUI team
outlining a multi-threaded approach to downloading.
Do you mean a single one for all images, or one per image? (Sorry, I
haven't had a chance to review the code yet).
The updatetool GUI currently uses multi-threading for evaluating
update plans for multiple user images simultaneously.
Could this at least be done at the image level to allow this?
I have double checked this and it looks like the background thread for
getting package descriptions is causing the problem.
What is currently happening, when the user is starting PM, the
background thread is fired to get descriptions for the packages. This is
going to change, so when the user is scrolling to some set of packages,
the descriptions are being gathered for the visible rows only. Also when
the user performs search, for the visible rows descriptions are being
downloaded.
At the same time the packae may be installed. So when the description
thread is not yet finished and the user will try to install package this
problem will occur. Also when the user clicks on the license tab,
sometimes it takes ~3 seconds to download the license. During this time
if I will hit install button, this error will occur.
One solution would be to add the lock mechanism in the GUI, but I am not
sure if this would be better solution then adding such mechanism in the
api itself. There is already lock mechanism in the api for other purposes.
--
best
Michal
I'll need you to figure out which threads are calling the transport
concurrently. We may have to resort to something stupid in the short
term, like a transport lock, but I hope a better solution is available.
-j
_______________________________________________
pkg-discuss mailing list
pkg-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/pkg-discuss
_______________________________________________
pkg-discuss mailing list
pkg-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/pkg-discuss