Author: markt
Date: Wed Apr 24 19:52:25 2013
New Revision: 1471614

URL: http://svn.apache.org/r1471614
Log: (empty)

Modified:
    
tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/upgrade/LocalStrings.properties
    
tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/upgrade/UpgradeAprProcessor.java
    tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml

Modified: 
tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/upgrade/LocalStrings.properties
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/upgrade/LocalStrings.properties?rev=1471614&r1=1471613&r2=1471614&view=diff
==============================================================================
--- 
tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/upgrade/LocalStrings.properties
 (original)
+++ 
tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/upgrade/LocalStrings.properties
 Wed Apr 24 19:52:25 2013
@@ -13,7 +13,8 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-apr.error=Unexpected error [{0}] reading data from the APR/native socket.
+apr.read.error=Error [{0}] reading data from the APR/native socket.
+apr.write.error=Error [{0}] writing data to the APR/native socket.
 
 nio.eof.error=Unexpected EOF read on the socket
 

Modified: 
tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/upgrade/UpgradeAprProcessor.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/upgrade/UpgradeAprProcessor.java?rev=1471614&r1=1471613&r2=1471614&view=diff
==============================================================================
--- 
tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/upgrade/UpgradeAprProcessor.java
 (original)
+++ 
tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/upgrade/UpgradeAprProcessor.java
 Wed Apr 24 19:52:25 2013
@@ -49,13 +49,21 @@ public class UpgradeAprProcessor extends
 
     @Override
     public void write(int b) throws IOException {
-        Socket.send(socket, new byte[] {(byte) b}, 0, 1);
+        int result = Socket.send(socket, new byte[] {(byte) b}, 0, 1);
+        if (result != 1) {
+            throw new IOException(sm.getString("apr.write.error",
+                    Integer.valueOf(-result)));
+        }
     }
 
 
     @Override
     public void write(byte[]b, int off, int len) throws IOException {
-        Socket.send(socket, b, off, len);
+        int result = Socket.send(socket, b, off, len);
+        if (result != len) {
+            throw new IOException(sm.getString("apr.write.error",
+                    Integer.valueOf(-result)));
+        }
     }
 
 
@@ -87,7 +95,7 @@ public class UpgradeAprProcessor extends
             } else if (-result == Status.EAGAIN) {
                 return 0;
             } else {
-                throw new IOException(sm.getString("apr.error",
+                throw new IOException(sm.getString("apr.read.error",
                         Integer.valueOf(-result)));
             }
         } finally {

Modified: tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml?rev=1471614&r1=1471613&r2=1471614&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Wed Apr 24 19:52:25 2013
@@ -74,6 +74,15 @@
       </fix>
     </changelog>
   </subsection>
+  <subsection name="Coyote">
+    <changelog>
+      <fix>
+        Ensure write errors when using HTTP Upgrade with the APR/native
+        connector result in <code>IOException</code>s rather than errors being
+        silently swallowed. (markt)
+      </fix>
+    </changelog>
+  </subsection>
   <subsection name="Jasper">
     <changelog>
       <fix>



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

Reply via email to