You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-commits@db.apache.org by km...@apache.org on 2004/11/24 18:24:47 UTC
svn commit: r106436 - /incubator/derby/code/trunk/java/drda/org/apache/derby/impl/drda/DB2jServerImpl.java
Author: kmarsden
Date: Wed Nov 24 09:24:47 2004
New Revision: 106436
URL: http://svn.apache.org/viewcvs?view=rev&rev=106436
Log:
Fix for intermittent hang with database shutdown.
Contributed by Army Brown
Modified:
incubator/derby/code/trunk/java/drda/org/apache/derby/impl/drda/DB2jServerImpl.java
Modified: incubator/derby/code/trunk/java/drda/org/apache/derby/impl/drda/DB2jServerImpl.java
Url: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/drda/org/apache/derby/impl/drda/DB2jServerImpl.java?view=diff&rev=106436&p1=incubator/derby/code/trunk/java/drda/org/apache/derby/impl/drda/DB2jServerImpl.java&r1=106435&p2=incubator/derby/code/trunk/java/drda/org/apache/derby/impl/drda/DB2jServerImpl.java&r2=106436
==============================================================================
--- incubator/derby/code/trunk/java/drda/org/apache/derby/impl/drda/DB2jServerImpl.java (original)
+++ incubator/derby/code/trunk/java/drda/org/apache/derby/impl/drda/DB2jServerImpl.java Wed Nov 24 09:24:47 2004
@@ -1352,9 +1352,9 @@
Session retval = null;
if (shutdown == true)
return retval;
- try {
- synchronized (runQueue)
- {
+ synchronized (runQueue)
+ {
+ try {
// nobody waiting - go on with current session
if (runQueue.size() == 0)
{
@@ -1379,8 +1379,14 @@
runQueue.removeElementAt(0);
if (currentSession != null)
runQueueAdd(currentSession);
+ } catch (InterruptedException e) {
+ // If for whatever reason (ex. database shutdown) a waiting thread is
+ // interrupted while in this method, that thread is going to be
+ // closed down, so we need to decrement the number of threads
+ // that will be available for use.
+ freeThreads--;
}
- }catch (InterruptedException e) {}
+ }
return retval;
}
/**