You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by ri...@apache.org on 2011/03/24 20:31:41 UTC

svn commit: r1085090 - /felix/trunk/log/src/main/java/org/apache/felix/log/LogListenerThread.java

Author: rickhall
Date: Thu Mar 24 19:31:41 2011
New Revision: 1085090

URL: http://svn.apache.org/viewvc?rev=1085090&view=rev
Log:
Applied patch (FELIX-2406) to fix log ordering issue along with
a few minor modifications.

Modified:
    felix/trunk/log/src/main/java/org/apache/felix/log/LogListenerThread.java

Modified: felix/trunk/log/src/main/java/org/apache/felix/log/LogListenerThread.java
URL: http://svn.apache.org/viewvc/felix/trunk/log/src/main/java/org/apache/felix/log/LogListenerThread.java?rev=1085090&r1=1085089&r2=1085090&view=diff
==============================================================================
--- felix/trunk/log/src/main/java/org/apache/felix/log/LogListenerThread.java (original)
+++ felix/trunk/log/src/main/java/org/apache/felix/log/LogListenerThread.java Thu Mar 24 19:31:41 2011
@@ -18,10 +18,9 @@
  */
 package org.apache.felix.log;
 
+import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
-import java.util.Stack;
-import java.util.Vector;
 
 import org.osgi.service.log.LogEntry;
 import org.osgi.service.log.LogListener;
@@ -34,12 +33,12 @@ import org.osgi.service.log.LogListener;
  */
 final class LogListenerThread extends Thread
 {
-    /** Whether the thread is stopping or not. */
+    // Whether the thread is stopping or not.
     private boolean m_stopping = false;
-    /** The stack of entries waiting to be delivered to the log listeners. **/
-    private final Stack m_entriesToDeliver = new Stack();
-    /** The list of listeners. */
-    private final List m_listeners = new Vector();
+    // The list of entries waiting to be delivered to the log listeners.
+    private final List m_entriesToDeliver = new ArrayList();
+    // The list of listeners.
+    private final List m_listeners = new ArrayList();
 
     /**
      * Add an entry to the list of messages to deliver.
@@ -92,10 +91,9 @@ final class LogListenerThread extends Th
      */
     void shutdown()
     {
-        m_stopping = true;
-
         synchronized (m_entriesToDeliver)
         {
+            m_stopping = true;
             m_entriesToDeliver.notifyAll();
         }
     }
@@ -114,7 +112,7 @@ final class LogListenerThread extends Th
             {
                 if (!m_entriesToDeliver.isEmpty())
                 {
-                    LogEntry entry = (LogEntry) m_entriesToDeliver.pop();
+                    LogEntry entry = (LogEntry) m_entriesToDeliver.remove(0);
 
                     synchronized (m_listeners)
                     {