Comment on attachment 323866
derivation from nss shutdown object
Honza, thanks for working on this patch.
Could you please follow the style that other code implementing nsNSSShutdownObject is using?
For example, please look at nsNSSCertCache.
In the destructor, you should use the locker, check for isAlreadyShutDown.
In virtualDestroyNSSReference all other code checks for isAlreadyShutDown, too. This prevents destroying objects that belong to a shutdown NSS session.
I would recommend you rearrance the code so that you have the same functions called virtualDestroyNSSReference, destructorSafeDestroyNSSReference. As a result, you'll have your calls to destroy the objects only once.
Comment on attachment 323866
derivation from nss shutdown object
Honza, thanks for working on this patch.
Could you please follow the style that other code implementing nsNSSShutdownObject is using?
For example, please look at nsNSSCertCache.
In the destructor, you should use the locker, check for isAlreadyShutDown.
In virtualDestroyN SSReference all other code checks for isAlreadyShutDown, too. This prevents destroying objects that belong to a shutdown NSS session.
I would recommend you rearrance the code so that you have the same functions called virtualDestroyN SSReference, destructorSafeD estroyNSSRefere nce. As a result, you'll have your calls to destroy the objects only once.