ObjectWeb Consortium
Search ObjectWeb Mail Archive: 

Advanced Search - Powered by Google


Mail Archive Home | enhydra List | Febuary 2005 Index

<--  Date Index     <--  Thread Index    

Unregistering threads does not work correctly


The Enhydra.unRegister( Thread ) does not propery remove all the references to the thread, which prevents the thread from being garbage collected.  The Enhydra.register(Thread, Application) method adds the thread into htAppCount and applications hashtables, and also makes calls to DODS.register(Thread, DatatbaseManager) and DODS.registerLogChannel( Thread, LogChannel ).  Each of those calls adds a reference to the thread to a static hashtable in the DODS class.
 
The unRegister( Thread ) method removes the thread from htAppCount and applications hashtables, and calls DODS.unregister(Thread) which removes the thread from the databaseManagers hashtable, but the reference in logChannels is never removed.
 
It looks like the whole mess can be fixed by adding a call to DODS.unregisterLogChannel(Thread), but I don't quite understand what's going on with the LogChannels.
 
Alex Yakushev
Programmer
Internet Exposure


<--  Date Index     <--  Thread Index    

Reply via email to:

Powered by MHonArc.

Copyright © 1999-2005, ObjectWeb Consortium | contact | webmaster.