I see that you are wrapping the get_inventory() call as well Padraig,
don't think you need the raise in there.
I wanted to see when get_inventory was being called so traced it using a
dtrace script. I see we are calling __enable_disable_update_all() when
we are doing the switch between Single and Search All Repos. This is a
problem and could be another source of the sigsegv issues as it triggers
a __check_if_updates_available() which will cause a load_catalogs()
call. We should only be doing the __enable_disable_update_all() on
startup and after user hits Reload.
JR
Padraig O'Briain wrote:
I have reworked the webrev
http://cr.opensolaris.org/~padraig/ips-8453-v3/.
Padraig
On 04/28/09 11:42, jmr wrote:
OK - Padraig this looks good, it should protect us against the
sigsegv we are seeing where we have multiple load catalogs happening
on startup or switching to Search All Repos.
You need to put a try finally around the acquire and release lock
code in load catalogs.
Perhaps the best place to fix this is in image.py where any public
methods such as load_catalogs that might not be thread safe should be
protected with an acquire and release lock as is done in all the
api.py public methods. I'm happy for us to fix it in PM for now, but
could you log an enhancement request for image.py.
JR
Padraig O'Briain wrote:
The webrev, http://cr.opensolaris.org/~padraig/ips-8453-v2/, fixes
8453 Simultaneous calls to load_catalogs on startup
Padraig
_______________________________________________
pkg-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/pkg-discuss
_______________________________________________
pkg-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/pkg-discuss