Author: markt
Date: Fri Oct 25 19:07:49 2013
New Revision: 1535821

URL: http://svn.apache.org/r1535821
Log:
Check for closed sockets earlier and reduce code duplication.

Modified:
    tomcat/tc7.0.x/trunk/   (props changed)
    
tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/upgrade/AprServletInputStream.java
    
tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/upgrade/AprServletOutputStream.java

Propchange: tomcat/tc7.0.x/trunk/
------------------------------------------------------------------------------
  Merged /tomcat/trunk:r1534540

Modified: 
tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/upgrade/AprServletInputStream.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/upgrade/AprServletInputStream.java?rev=1535821&r1=1535820&r2=1535821&view=diff
==============================================================================
--- 
tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/upgrade/AprServletInputStream.java
 (original)
+++ 
tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/upgrade/AprServletInputStream.java
 Fri Oct 25 19:07:49 2013
@@ -44,6 +44,10 @@ public class AprServletInputStream exten
     protected int doRead(boolean block, byte[] b, int off, int len)
             throws IOException {
 
+        if (closed) {
+            throw new IOException(sm.getString("apr.closed", 
Long.valueOf(socket)));
+        }
+
         Lock readLock = wrapper.getBlockingStatusReadLock();
         WriteLock writeLock = wrapper.getBlockingStatusWriteLock();
 
@@ -52,9 +56,6 @@ public class AprServletInputStream exten
         try {
             readLock.lock();
             if (wrapper.getBlockingStatus() == block) {
-                if (closed) {
-                    throw new IOException(sm.getString("apr.closed", 
Long.valueOf(socket)));
-                }
                 result = Socket.recv(socket, b, off, len);
                 readDone = true;
             }
@@ -72,9 +73,6 @@ public class AprServletInputStream exten
                 try {
                     readLock.lock();
                     writeLock.unlock();
-                    if (closed) {
-                        throw new IOException(sm.getString("apr.closed", 
Long.valueOf(socket)));
-                    }
                     result = Socket.recv(socket, b, off, len);
                 } finally {
                     readLock.unlock();

Modified: 
tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/upgrade/AprServletOutputStream.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/upgrade/AprServletOutputStream.java?rev=1535821&r1=1535820&r2=1535821&view=diff
==============================================================================
--- 
tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/upgrade/AprServletOutputStream.java
 (original)
+++ 
tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/upgrade/AprServletOutputStream.java
 Fri Oct 25 19:07:49 2013
@@ -56,15 +56,16 @@ public class AprServletOutputStream exte
     protected int doWrite(boolean block, byte[] b, int off, int len)
             throws IOException {
 
+        if (closed) {
+            throw new IOException(sm.getString("apr.closed", 
Long.valueOf(socket)));
+        }
+
         Lock readLock = wrapper.getBlockingStatusReadLock();
         WriteLock writeLock = wrapper.getBlockingStatusWriteLock();
 
         try {
             readLock.lock();
             if (wrapper.getBlockingStatus() == block) {
-                if (closed) {
-                    throw new IOException(sm.getString("apr.closed", 
Long.valueOf(socket)));
-                }
                 return doWriteInternal(b, off, len);
             }
         } finally {
@@ -85,9 +86,6 @@ public class AprServletOutputStream exte
             try {
                 readLock.lock();
                 writeLock.unlock();
-                if (closed) {
-                    throw new IOException(sm.getString("apr.closed", 
Long.valueOf(socket)));
-                }
                 return doWriteInternal(b, off, len);
             } finally {
                 readLock.unlock();



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to