I have spun another webrev, http://cr.opensolaris.org/~padraig/ips-8453-v7/.

This webrev also reduces the number of times __enable_disable_update_all and consequently load_catalogs is called.

We now only call __enable_disable_update_all on startup or when __on_reload is called.
We no longer call it when switching repository and changing search option.

I have also removed some redundant code near line 650.

Padraig

On 04/28/09 21:27, Shawn Walker wrote:
John Rice wrote:
Shawn Walker wrote:
jmr wrote:
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.

Methods in image.py are not intended for use by the client which is the real issue that needs to be addressed.
Ah OK I thought as they did not have the __ in image.py it was ok to use them, but if not then fine. I agree that having them in the api.py is the way to go with the appropriate locking code in place to protect clients. For this rev we will protect the calls in PM and for next rev move over to using an appropriate API in api.py.

They don't have '__' at the moment only because that would break a lot of clients. pkg.client.api contains the only interface any consumers should be using to interface with an image object.

I agree what you have in place is the right solution for now until the appropriate methods exist in api.py, or until the inventory methods take care of this for you.

Cheers,
_______________________________________________
pkg-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/pkg-discuss

Reply via email to