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

Reply via email to