33 lines
1.7 KiB
Diff
33 lines
1.7 KiB
Diff
|
|
diff -Nurp apache-tomcat-9.0.10-src/java/org/apache/coyote/http2/Stream.java apache-tomcat-9.0.10-src-bak/java/org/apache/coyote/http2/Stream.java
|
||
|
|
--- apache-tomcat-9.0.10-src/java/org/apache/coyote/http2/Stream.java 2019-06-09 20:59:53.027000000 -0400
|
||
|
|
+++ apache-tomcat-9.0.10-src-bak/java/org/apache/coyote/http2/Stream.java 2019-06-09 21:02:31.878000000 -0400
|
||
|
|
@@ -211,7 +211,12 @@ class Stream extends AbstractStream impl
|
||
|
|
}
|
||
|
|
try {
|
||
|
|
if (block) {
|
||
|
|
- wait(handler.getProtocol().getStreamWriteTimeout());
|
||
|
|
+ long writeTimeout = handler.getProtocol().getStreamWriteTimeout();
|
||
|
|
+ if (writeTimeout < 0) {
|
||
|
|
+ wait();
|
||
|
|
+ } else {
|
||
|
|
+ wait(writeTimeout);
|
||
|
|
+ }
|
||
|
|
windowSize = getWindowSize();
|
||
|
|
if (windowSize == 0) {
|
||
|
|
String msg = sm.getString("stream.writeTimeout");
|
||
|
|
@@ -889,7 +894,12 @@ class Stream extends AbstractStream impl
|
||
|
|
log.debug(sm.getString("stream.inputBuffer.empty"));
|
||
|
|
}
|
||
|
|
|
||
|
|
- inBuffer.wait(handler.getProtocol().getStreamReadTimeout());
|
||
|
|
+ long readTimeout = handler.getProtocol().getStreamReadTimeout();
|
||
|
|
+ if (readTimeout < 0) {
|
||
|
|
+ inBuffer.wait();
|
||
|
|
+ } else {
|
||
|
|
+ inBuffer.wait(readTimeout);
|
||
|
|
+ }
|
||
|
|
|
||
|
|
if (reset) {
|
||
|
|
throw new IOException(sm.getString("stream.inputBuffer.reset"));
|
||
|
|
|