Return-Path: Mailing-List: contact derby-commits-help@db.apache.org; run by ezmlm Delivered-To: mailing list derby-commits@db.apache.org Received: (qmail 35921 invoked by uid 500); 24 Nov 2004 17:24:57 -0000 Delivered-To: apmail-incubator-derby-cvs@incubator.apache.org Received: (qmail 35915 invoked by uid 99); 24 Nov 2004 17:24:57 -0000 X-ASF-Spam-Status: No, hits=-10.0 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from minotaur.apache.org (HELO minotaur.apache.org) (209.237.227.194) by apache.org (qpsmtpd/0.28) with SMTP; Wed, 24 Nov 2004 09:24:55 -0800 Received: (qmail 51293 invoked by uid 65534); 24 Nov 2004 17:24:47 -0000 Date: 24 Nov 2004 17:24:47 -0000 Message-ID: <20041124172447.51291.qmail@minotaur.apache.org> From: kmarsden@apache.org To: derby-cvs@incubator.apache.org Subject: svn commit: r106436 - /incubator/derby/code/trunk/java/drda/org/apache/derby/impl/drda/DB2jServerImpl.java MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 X-Virus-Checked: Checked 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; } /**