cocoon-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From giac...@apache.org
Subject svn commit: rev 56786 - cocoon/trunk/src/java/org/apache/cocoon/components/thread
Date Sat, 06 Nov 2004 23:12:40 GMT
Author: giacomo
Date: Sat Nov  6 15:12:39 2004
New Revision: 56786

Modified:
   cocoon/trunk/src/java/org/apache/cocoon/components/thread/DefaultRunnableManager.java
   cocoon/trunk/src/java/org/apache/cocoon/components/thread/RunnableManager.java
Log:
added removal of Runnables

Modified: cocoon/trunk/src/java/org/apache/cocoon/components/thread/DefaultRunnableManager.java
==============================================================================
--- cocoon/trunk/src/java/org/apache/cocoon/components/thread/DefaultRunnableManager.java
(original)
+++ cocoon/trunk/src/java/org/apache/cocoon/components/thread/DefaultRunnableManager.java
Sat Nov  6 15:12:39 2004
@@ -392,6 +392,33 @@
     }
 
     /**
+     * Remove a <code>Runnable</code> from the command stack
+     *
+     * @param command The <code>Runnable</code> to be removed
+     */
+    public void remove( Runnable command )
+    {
+        synchronized( m_commandStack )
+        {
+            for( final Iterator i = m_commandStack.iterator(  ); i.hasNext(  ); )
+            {
+                final ExecutionInfo info = (ExecutionInfo)i.next(  );
+
+                if( info.m_command == command )
+                {
+                    i.remove(  );
+                    m_commandStack.notifyAll(  );
+
+                    return;
+                }
+            }
+        }
+
+        getLogger(  ).warn( "Could not find command " + command +
+                            " for removal" );
+    }
+
+    /**
      * The heart of the command manager
      */
     public void run(  )
@@ -806,7 +833,6 @@
                 if( m_nextRun > 0 )
                 {
                     m_commandStack.add( this );
-                    m_commandStack.notifyAll(  );
                 }
             }
 

Modified: cocoon/trunk/src/java/org/apache/cocoon/components/thread/RunnableManager.java
==============================================================================
--- cocoon/trunk/src/java/org/apache/cocoon/components/thread/RunnableManager.java	(original)
+++ cocoon/trunk/src/java/org/apache/cocoon/components/thread/RunnableManager.java	Sat Nov
 6 15:12:39 2004
@@ -152,4 +152,11 @@
                   Runnable command,
                   long delay,
                   long interval );
+
+    /**
+     * Remove a {@link Runnable} from the execution stack
+     *
+     * @param command The command to be removed
+     */
+    void remove( Runnable command );
 }

Mime
View raw message