You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by re...@apache.org on 2018/02/09 15:46:52 UTC
svn commit: r1823670 -
/tomcat/trunk/java/org/apache/coyote/http2/Http2AsyncParser.java
Author: remm
Date: Fri Feb 9 15:46:52 2018
New Revision: 1823670
URL: http://svn.apache.org/viewvc?rev=1823670&view=rev
Log:
Fix window size reservation deadlock.
Modified:
tomcat/trunk/java/org/apache/coyote/http2/Http2AsyncParser.java
Modified: tomcat/trunk/java/org/apache/coyote/http2/Http2AsyncParser.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http2/Http2AsyncParser.java?rev=1823670&r1=1823669&r2=1823670&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http2/Http2AsyncParser.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http2/Http2AsyncParser.java Fri Feb 9 15:46:52 2018
@@ -226,14 +226,18 @@ class Http2AsyncParser extends Http2Pars
readUnknownFrame(streamId, frameType, flags, payloadSize, payload);
}
}
- } catch (Exception e) {
+ } catch (StreamException e) {
error = e;
+ } catch (Exception e) {
+ unRead(payload);
+ failed(e, null);
+ return;
}
unRead(payload);
}
if (state == CompletionState.DONE) {
// The call was not completed inline, so must start reading new frames
- // or process any error
+ // or process the stream exception
upgradeHandler.upgradeDispatch(SocketEvent.OPEN_READ);
}
}
@@ -241,10 +245,8 @@ class Http2AsyncParser extends Http2Pars
@Override
public void failed(Throwable e, Void attachment) {
error = e;
- if (state == CompletionState.DONE) {
- // The call was not completed inline, so must start reading new frames
- // or process any error
- upgradeHandler.upgradeDispatch(SocketEvent.OPEN_READ);
+ if (state == null || state == CompletionState.DONE) {
+ upgradeHandler.upgradeDispatch(SocketEvent.ERROR);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org