Author: markt
Date: Wed Sep 15 13:24:14 2010
New Revision: 997321

URL: http://svn.apache.org/viewvc?rev=997321&view=rev
Log:
Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=49584
Move the offering of a new thread on release from the abandoned connection code 
to the release code to eliminate the possibility of a blocked thread on release.

Modified:
    
tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java

Modified: 
tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java?rev=997321&r1=997320&r2=997321&view=diff
==============================================================================
--- 
tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java
 (original)
+++ 
tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java
 Wed Sep 15 13:24:14 2010
@@ -466,9 +466,6 @@ public class ConnectionPool {
             }
             //release the connection
             release(con);
-            //we've asynchronously reduced the number of connections
-            //we could have threads stuck in idle.poll(timeout) that will 
never be notified
-            if (waitcount.get()>0) idle.offer(new 
PooledConnection(poolProperties,this));
         } finally {
             con.unlock();
         }
@@ -517,6 +514,12 @@ public class ConnectionPool {
         } finally {
             con.unlock();
         }
+        // we've asynchronously reduced the number of connections
+        // we could have threads stuck in idle.poll(timeout) that will never be
+        // notified
+        if (waitcount.get() > 0) {
+            idle.offer(new PooledConnection(poolProperties, this));
+        }
     }
 
     /**



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to