Author: markt
Date: Tue Oct 22 08:34:32 2013
New Revision: 1534540
URL: http://svn.apache.org/r1534540
Log:
Check for closed sockets earlier and reduce code duplication.
Modified:
tomcat/trunk/java/org/apache/coyote/http11/upgrade/AprServletInputStream.java
tomcat/trunk/java/org/apache/coyote/http11/upgrade/AprServletOutputStream.java
Modified:
tomcat/trunk/java/org/apache/coyote/http11/upgrade/AprServletInputStream.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/upgrade/AprServletInputStream.java?rev=1534540&r1=1534539&r2=1534540&view=diff
==============================================================================
---
tomcat/trunk/java/org/apache/coyote/http11/upgrade/AprServletInputStream.java
(original)
+++
tomcat/trunk/java/org/apache/coyote/http11/upgrade/AprServletInputStream.java
Tue Oct 22 08:34:32 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/trunk/java/org/apache/coyote/http11/upgrade/AprServletOutputStream.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/upgrade/AprServletOutputStream.java?rev=1534540&r1=1534539&r2=1534540&view=diff
==============================================================================
---
tomcat/trunk/java/org/apache/coyote/http11/upgrade/AprServletOutputStream.java
(original)
+++
tomcat/trunk/java/org/apache/coyote/http11/upgrade/AprServletOutputStream.java
Tue Oct 22 08:34:32 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]