Author: markt
Date: Tue May 13 11:25:14 2014
New Revision: 1594198

URL: http://svn.apache.org/r1594198
Log:
Address root cause of ReadPendingException rather than swallowing it.

Modified:
    tomcat/trunk/java/org/apache/coyote/AsyncStateMachine.java
    tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Processor.java

Modified: tomcat/trunk/java/org/apache/coyote/AsyncStateMachine.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/AsyncStateMachine.java?rev=1594198&r1=1594197&r2=1594198&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/AsyncStateMachine.java (original)
+++ tomcat/trunk/java/org/apache/coyote/AsyncStateMachine.java Tue May 13 
11:25:14 2014
@@ -280,7 +280,9 @@ public class AsyncStateMachine<S> {
                 state == AsyncState.TIMING_OUT ||
                 state == AsyncState.ERROR) {
             state = AsyncState.DISPATCHING;
-            doDispatch = true;
+            if (!ContainerThreadMarker.isContainerThread()) {
+                doDispatch = true;
+            }
         } else {
             throw new IllegalStateException(
                     sm.getString("asyncStateMachine.invalidAsyncState",

Modified: 
tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Processor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Processor.java?rev=1594198&r1=1594197&r2=1594198&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Processor.java 
(original)
+++ tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Processor.java Tue 
May 13 11:25:14 2014
@@ -18,7 +18,6 @@ package org.apache.coyote.http11;
 
 import java.io.IOException;
 import java.io.InterruptedIOException;
-import java.nio.channels.ReadPendingException;
 import java.util.Locale;
 import java.util.StringTokenizer;
 import java.util.concurrent.atomic.AtomicBoolean;
@@ -955,7 +954,7 @@ public abstract class AbstractHttp11Proc
                         setSocketTimeout(connectionUploadTimeout);
                     }
                 }
-            } catch (IOException | ReadPendingException e) {
+            } catch (IOException e) {
                 if (getLog().isDebugEnabled()) {
                     getLog().debug(
                             sm.getString("http11processor.header.parse"), e);



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to