Author: chirino
Date: Mon Mar  8 14:19:40 2010
New Revision: 920330

URL: http://svn.apache.org/viewvc?rev=920330&view=rev
Log:
check for release after processig io tasks

Modified:
    
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/transport/nio/SelectorWorker.java

Modified: 
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/transport/nio/SelectorWorker.java
URL: 
http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/transport/nio/SelectorWorker.java?rev=920330&r1=920329&r2=920330&view=diff
==============================================================================
--- 
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/transport/nio/SelectorWorker.java
 (original)
+++ 
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/transport/nio/SelectorWorker.java
 Mon Mar  8 14:19:40 2010
@@ -68,15 +68,18 @@
         selector.wakeup();
     }
     
-    private void processIoTasks() {
+    private boolean processIoTasks() {
+        boolean rc = false;
         Runnable task; 
         while( (task= ioTasks.poll()) !=null ) {
             try {
+                rc = true;
                 task.run();
             } catch (Throwable e) {
                 e.printStackTrace();
             }
         }
+        return rc;
     }
 
     
@@ -88,7 +91,9 @@
             Thread.currentThread().setName("Selector Worker: " + id);
             while (!isReleased()) {
                 
-                processIoTasks();
+                if( processIoTasks() ) {
+                    continue;
+                }
                 int count = selector.select(10);
                 if (count == 0) {
                     continue;


Reply via email to