This is an automated email from the ASF dual-hosted git repository. remm pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/tomcat.git
The following commit(s) were added to refs/heads/master by this push: new af6536d Sync on socketWrapper like the non async code does af6536d is described below commit af6536d9fe01961e795a36628eaeb15506ed6fbc Author: remm <r...@apache.org> AuthorDate: Fri May 24 10:17:12 2019 +0200 Sync on socketWrapper like the non async code does Most likely readDataFrame and readContinuationFrame would need sync as well, so include them. --- java/org/apache/coyote/http2/Http2AsyncParser.java | 66 +++++++++++----------- 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/java/org/apache/coyote/http2/Http2AsyncParser.java b/java/org/apache/coyote/http2/Http2AsyncParser.java index ba3ec3a..55d97eb 100644 --- a/java/org/apache/coyote/http2/Http2AsyncParser.java +++ b/java/org/apache/coyote/http2/Http2AsyncParser.java @@ -240,41 +240,41 @@ class Http2AsyncParser extends Http2Parser { if (streamException) { swallow(streamId, payloadSize, false, payload); } else { - switch (frameType) { - case DATA: - readDataFrame(streamId, flags, payloadSize, payload); - break; - case HEADERS: - synchronized (upgradeHandler) { + synchronized (socketWrapper) { + switch (frameType) { + case DATA: + readDataFrame(streamId, flags, payloadSize, payload); + break; + case HEADERS: readHeadersFrame(streamId, flags, payloadSize, payload); + break; + case PRIORITY: + readPriorityFrame(streamId, payload); + break; + case RST: + readRstFrame(streamId, payload); + break; + case SETTINGS: + readSettingsFrame(flags, payloadSize, payload); + break; + case PUSH_PROMISE: + readPushPromiseFrame(streamId, payload); + break; + case PING: + readPingFrame(flags, payload); + break; + case GOAWAY: + readGoawayFrame(payloadSize, payload); + break; + case WINDOW_UPDATE: + readWindowUpdateFrame(streamId, payload); + break; + case CONTINUATION: + readContinuationFrame(streamId, flags, payloadSize, payload); + break; + case UNKNOWN: + readUnknownFrame(streamId, frameType, flags, payloadSize, payload); } - break; - case PRIORITY: - readPriorityFrame(streamId, payload); - break; - case RST: - readRstFrame(streamId, payload); - break; - case SETTINGS: - readSettingsFrame(flags, payloadSize, payload); - break; - case PUSH_PROMISE: - readPushPromiseFrame(streamId, payload); - break; - case PING: - readPingFrame(flags, payload); - break; - case GOAWAY: - readGoawayFrame(payloadSize, payload); - break; - case WINDOW_UPDATE: - readWindowUpdateFrame(streamId, payload); - break; - case CONTINUATION: - readContinuationFrame(streamId, flags, payloadSize, payload); - break; - case UNKNOWN: - readUnknownFrame(streamId, frameType, flags, payloadSize, payload); } } // See if there is a new 9 byte header and continue parsing if possible --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org