Author: markt Date: Wed Mar 26 15:31:00 2014 New Revision: 1581888 URL: http://svn.apache.org/r1581888 Log: Locks should be outside try/finally
Modified: tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProcessor.java Modified: tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProcessor.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProcessor.java?rev=1581888&r1=1581887&r2=1581888&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProcessor.java (original) +++ tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProcessor.java Wed Mar 26 15:31:00 2014 @@ -140,8 +140,8 @@ public class AjpAprProcessor extends Abs boolean writeDone = false; int result = 0; + readLock.lock(); try { - readLock.lock(); if (socketWrapper.getBlockingStatus() == block) { result = Socket.sendbb(socket, pos, len); writeDone = true; @@ -151,14 +151,14 @@ public class AjpAprProcessor extends Abs } if (!writeDone) { + writeLock.lock(); try { - writeLock.lock(); socketWrapper.setBlockingStatus(block); // Set the current settings for this socket Socket.optSet(socket, Socket.APR_SO_NONBLOCK, (block ? 0 : 1)); // Downgrade the lock + readLock.lock(); try { - readLock.lock(); writeLock.unlock(); result = Socket.sendbb(socket, pos, len); } finally { @@ -237,8 +237,8 @@ public class AjpAprProcessor extends Abs boolean readDone = false; int result = 0; + readLock.lock(); try { - readLock.lock(); if (socketWrapper.getBlockingStatus() == block) { result = Socket.recvbb(socket, pos, len); readDone = true; @@ -248,14 +248,14 @@ public class AjpAprProcessor extends Abs } if (!readDone) { + writeLock.lock(); try { - writeLock.lock(); socketWrapper.setBlockingStatus(block); // Set the current settings for this socket Socket.optSet(socket, Socket.APR_SO_NONBLOCK, (block ? 0 : 1)); // Downgrade the lock + readLock.lock(); try { - readLock.lock(); writeLock.unlock(); result = Socket.recvbb(socket, pos, len); } finally { --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org