Author: markt
Date: Wed May  3 17:40:07 2017
New Revision: 1793683

URL: http://svn.apache.org/viewvc?rev=1793683&view=rev
Log:
Follow-up to r1708575
I/O errors during application initiated read/writes need to be handled at the 
point they occur since the application may swallow them.

Modified:
    tomcat/trunk/java/org/apache/coyote/http2/Http2UpgradeHandler.java

Modified: tomcat/trunk/java/org/apache/coyote/http2/Http2UpgradeHandler.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http2/Http2UpgradeHandler.java?rev=1793683&r1=1793682&r2=1793683&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http2/Http2UpgradeHandler.java 
(original)
+++ tomcat/trunk/java/org/apache/coyote/http2/Http2UpgradeHandler.java Wed May  
3 17:40:07 2017
@@ -642,9 +642,13 @@ class Http2UpgradeHandler extends Abstra
                         log.debug(target.limit() + " bytes");
                     }
                     ByteUtil.set31Bits(header, 5, 
stream.getIdentifier().intValue());
-                    socketWrapper.write(true, header, 0, header.length);
-                    socketWrapper.write(true, target);
-                    socketWrapper.flush(true);
+                    try {
+                        socketWrapper.write(true, header, 0, header.length);
+                        socketWrapper.write(true, target);
+                        socketWrapper.flush(true);
+                    } catch (IOException ioe) {
+                        handleAppInitiatedIOException(ioe);
+                    }
                 }
                 if (state == State.UNDERFLOW && target.limit() == 0) {
                     target = ByteBuffer.allocate(target.capacity() * 2);



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

Reply via email to