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 2014/03/26 16:31:01 UTC
svn commit: r1581888 -
/tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProcessor.java
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-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org