You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2013/10/22 10:34:33 UTC
svn commit: r1534540 - in
/tomcat/trunk/java/org/apache/coyote/http11/upgrade:
AprServletInputStream.java AprServletOutputStream.java
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: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org