You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hc.apache.org by ol...@apache.org on 2007/03/12 13:06:30 UTC

svn commit: r517188 - /jakarta/httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/reactor/AbstractIOReactor.java

Author: olegk
Date: Mon Mar 12 05:06:29 2007
New Revision: 517188

URL: http://svn.apache.org/viewvc?view=rev&rev=517188
Log:
HTTPCORE-56: AbstractIOReactor#processNewChannels now correctly catches and processes CancelledKeyException exceptions

Modified:
    jakarta/httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/reactor/AbstractIOReactor.java

Modified: jakarta/httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/reactor/AbstractIOReactor.java
URL: http://svn.apache.org/viewvc/jakarta/httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/reactor/AbstractIOReactor.java?view=diff&rev=517188&r1=517187&r2=517188
==============================================================================
--- jakarta/httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/reactor/AbstractIOReactor.java (original)
+++ jakarta/httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/reactor/AbstractIOReactor.java Mon Mar 12 05:06:29 2007
@@ -207,11 +207,17 @@
             session.setSocketTimeout(timeout);
             this.sessions.add(session);
             keyCreated(key, session);
-            this.eventDispatch.connected(session);
-            
-            SessionRequestImpl sessionRequest = entry.getSessionRequest();
-            if (sessionRequest != null) {
-                sessionRequest.completed(session);
+
+            try {
+                this.eventDispatch.connected(session);
+                
+                SessionRequestImpl sessionRequest = entry.getSessionRequest();
+                if (sessionRequest != null) {
+                    sessionRequest.completed(session);
+                }
+            } catch (CancelledKeyException ex) {
+                this.closedSessions.push(session);
+                key.attach(null);
             }
         }
     }