XPCOM calls NR_StartupRegistry(), but never calls NR_ShutdownRegistry(). Not only does this leak all the locks and such, with the new buffering strategy if any registries are not explicitly closed (and XPCOM doesn't close component.reg, either) then the entire buffer is leaked, and data is lost if the buffer is still dirty. ICK!
I have a fix for this, and I believe it should go into M10 because failure to shutdown the registry can corrupt it now that I've implemented buffering. dp, this is not the fix you wanted (put the startup and shutdown into nsRegistry ctor and dtor) -- we are currently leaking registries so that wouldn't help at this point. I've entered bug 14909 to track adding the ability to flush registry, and maybe for the beta we can switch to depending on each registry user to release and/or flush their registries. But for now we can count on the component manager starting and stopping so that's safest.
Dan didn't you have the fix for this. I thought you were going to check it in.
Whiteboard: reviewed fix in hand, awaiting approval
I was waiting for your code review (which I now have) and chofmann's approval.
Status: NEW → RESOLVED
Closed: 20 years ago
Resolution: --- → FIXED
Marking Verified per dp's ok.
You need to log in before you can comment on or make changes to this bug.