You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by tr...@apache.org on 2007/12/04 07:51:12 UTC

svn commit: r600806 - in /mina/trunk/core/src/main/java/org/apache/mina/common: AbstractPollingConnectionlessIoAcceptor.java AbstractPollingIoAcceptor.java AbstractPollingIoConnector.java

Author: trustin
Date: Mon Dec  3 22:51:10 2007
New Revision: 600806

URL: http://svn.apache.org/viewvc?rev=600806&view=rev
Log:
Fixed RejectedExecutionException (really this time)


Modified:
    mina/trunk/core/src/main/java/org/apache/mina/common/AbstractPollingConnectionlessIoAcceptor.java
    mina/trunk/core/src/main/java/org/apache/mina/common/AbstractPollingIoAcceptor.java
    mina/trunk/core/src/main/java/org/apache/mina/common/AbstractPollingIoConnector.java

Modified: mina/trunk/core/src/main/java/org/apache/mina/common/AbstractPollingConnectionlessIoAcceptor.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/common/AbstractPollingConnectionlessIoAcceptor.java?rev=600806&r1=600805&r2=600806&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/common/AbstractPollingConnectionlessIoAcceptor.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/common/AbstractPollingConnectionlessIoAcceptor.java Mon Dec  3 22:51:10 2007
@@ -32,6 +32,7 @@
 import java.util.concurrent.Executor;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.LinkedBlockingQueue;
+import java.util.concurrent.RejectedExecutionException;
 import java.util.concurrent.ThreadPoolExecutor;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicInteger;
@@ -134,8 +135,16 @@
     protected IoFuture dispose0() throws Exception {
         unbind();
         if (!disposalFuture.isDone()) {
-            startupWorker();
-            wakeup();
+            try {
+                startupWorker();
+                wakeup();
+            } catch (RejectedExecutionException e) {
+                if (createdExecutor) {
+                    // Ignore.
+                } else {
+                    throw e;
+                }
+            }
         }
         return disposalFuture;
     }

Modified: mina/trunk/core/src/main/java/org/apache/mina/common/AbstractPollingIoAcceptor.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/common/AbstractPollingIoAcceptor.java?rev=600806&r1=600805&r2=600806&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/common/AbstractPollingIoAcceptor.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/common/AbstractPollingIoAcceptor.java Mon Dec  3 22:51:10 2007
@@ -32,6 +32,7 @@
 import java.util.concurrent.Executor;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.LinkedBlockingQueue;
+import java.util.concurrent.RejectedExecutionException;
 import java.util.concurrent.ThreadPoolExecutor;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicInteger;
@@ -140,8 +141,16 @@
     protected IoFuture dispose0() throws Exception {
         unbind();
         if (!disposalFuture.isDone()) {
-            startupWorker();
-            wakeup();
+            try {
+                startupWorker();
+                wakeup();
+            } catch (RejectedExecutionException e) {
+                if (createdExecutor) {
+                    // Ignore.
+                } else {
+                    throw e;
+                }
+            }
         }
         return disposalFuture;
     }

Modified: mina/trunk/core/src/main/java/org/apache/mina/common/AbstractPollingIoConnector.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/common/AbstractPollingIoConnector.java?rev=600806&r1=600805&r2=600806&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/common/AbstractPollingIoConnector.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/common/AbstractPollingIoConnector.java Mon Dec  3 22:51:10 2007
@@ -27,6 +27,7 @@
 import java.util.concurrent.Executor;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.LinkedBlockingQueue;
+import java.util.concurrent.RejectedExecutionException;
 import java.util.concurrent.ThreadPoolExecutor;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicInteger;
@@ -128,8 +129,16 @@
     @Override
     protected final IoFuture dispose0() throws Exception {
         if (!disposalFuture.isDone()) {
-            startupWorker();
-            wakeup();
+            try {
+                startupWorker();
+                wakeup();
+            } catch (RejectedExecutionException e) {
+                if (createdExecutor) {
+                    // Ignore.
+                } else {
+                    throw e;
+                }
+            }
         }
         return disposalFuture;
     }