Author: trustin
Date: Mon Dec  3 01:57:31 2007
New Revision: 600462

URL: http://svn.apache.org/viewvc?rev=600462&view=rev
Log:
Fixed unexpected RejectedExecutionException


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=600462&r1=600461&r2=600462&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 01:57:31 2007
@@ -353,15 +353,15 @@
             
             if (selectable && isDisposing()) {
                 selectable = false;
-                if (createdExecutor) {
-                    ((ExecutorService) executor).shutdown();
-                }
                 try {
                     destroy();
                 } catch (Exception e) {
                     ExceptionMonitor.getInstance().exceptionCaught(e);
                 } finally {
                     disposalFuture.setValue(true);
+                    if (createdExecutor) {
+                        ((ExecutorService) executor).shutdown();
+                    }
                 }
             }
         }

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=600462&r1=600461&r2=600462&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 01:57:31 2007
@@ -264,15 +264,15 @@
                         processor.dispose();
                     }
                 } finally {
-                    if (createdExecutor) {
-                        ((ExecutorService) executor).shutdown();
-                    }
                     try {
                         destroy();
                     } catch (Exception e) {
                         ExceptionMonitor.getInstance().exceptionCaught(e);
                     } finally {
                         disposalFuture.setDone();
+                        if (createdExecutor) {
+                            ((ExecutorService) executor).shutdown();
+                        }
                     }
                 }
             }

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=600462&r1=600461&r2=600462&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 01:57:31 2007
@@ -318,15 +318,15 @@
                         processor.dispose();
                     }
                 } finally {
-                    if (createdExecutor) {
-                        ((ExecutorService) executor).shutdown();
-                    }
                     try {
                         destroy();
                     } catch (Exception e) {
                         ExceptionMonitor.getInstance().exceptionCaught(e);
                     } finally {
                         disposalFuture.setDone();
+                        if (createdExecutor) {
+                            ((ExecutorService) executor).shutdown();
+                        }
                     }
                 }
             }


Reply via email to