diff options
author | Endi S. Dewata <edewata@redhat.com> | 2015-06-16 14:12:54 -0400 |
---|---|---|
committer | Endi S. Dewata <edewata@redhat.com> | 2015-06-18 20:04:31 -0400 |
commit | b9f51eb366c98647544d1d090cb9dbd0d29c6e09 (patch) | |
tree | ad4bd3d43dd87e7f24200859199e90ce13f5d3f1 /base/server/cmscore/src/com/netscape/cmscore/logging | |
parent | 311650625be0c8e5f42c71c7d5020e5a11ecf034 (diff) | |
download | pki-b9f51eb366c98647544d1d090cb9dbd0d29c6e09.tar.gz pki-b9f51eb366c98647544d1d090cb9dbd0d29c6e09.tar.xz pki-b9f51eb366c98647544d1d090cb9dbd0d29c6e09.zip |
Fixed thread leaks during shutdown.
Various codes have been modified to properly stop threads during
shutdown. A new ID attribute has been added to the LDAP connection
factory classes to help identify leaking threads.
https://fedorahosted.org/pki/ticket/1327
Diffstat (limited to 'base/server/cmscore/src/com/netscape/cmscore/logging')
-rw-r--r-- | base/server/cmscore/src/com/netscape/cmscore/logging/LogQueue.java | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/base/server/cmscore/src/com/netscape/cmscore/logging/LogQueue.java b/base/server/cmscore/src/com/netscape/cmscore/logging/LogQueue.java index 32af1bf2c..751a4cd63 100644 --- a/base/server/cmscore/src/com/netscape/cmscore/logging/LogQueue.java +++ b/base/server/cmscore/src/com/netscape/cmscore/logging/LogQueue.java @@ -64,7 +64,8 @@ public class LogQueue implements ILogQueue { if (mListeners == null) return; for (int i = 0; i < mListeners.size(); i++) { - mListeners.elementAt(i).shutdown(); + ILogEventListener listener = mListeners.elementAt(i); + listener.shutdown(); } } @@ -75,8 +76,9 @@ public class LogQueue implements ILogQueue { */ public void addLogEventListener(ILogEventListener listener) { //Make sure we don't have duplicated listener - if (!mListeners.contains(listener)) + if (!mListeners.contains(listener)) { mListeners.addElement(listener); + } } /** @@ -104,9 +106,6 @@ public class LogQueue implements ILogQueue { // incorrect log message. // ConsoleError.send(new SystemEvent(CMS.getUserMessage("CMS_LOG_EVENT_FAILED", // event.getEventType(), e.toString()))); - - // Don't do this again. - removeLogEventListener(mListeners.elementAt(i)); } } } |