From 5c2dd78c7dcc0e54632a4a093afccf9461a99155 Mon Sep 17 00:00:00 2001 From: wenshao Date: Fri, 2 Sep 2011 16:18:37 +0000 Subject: [PATCH] git-svn-id: http://code.alibabatech.com/svn/druid/trunk@586 b9813039-fb51-4c41-a8b9-e21c2acb5095 --- .../java/com/alibaba/druid/pool/DruidDataSource.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/alibaba/druid/pool/DruidDataSource.java b/src/main/java/com/alibaba/druid/pool/DruidDataSource.java index 5159b17d91..c775c5a038 100644 --- a/src/main/java/com/alibaba/druid/pool/DruidDataSource.java +++ b/src/main/java/com/alibaba/druid/pool/DruidDataSource.java @@ -532,8 +532,13 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat if (poolingCount == 0) { lowWater.signal(); // send signal to CreateThread create connection - estimate = notEmpty.awaitNanos(estimate); // signal by recycle or creator - + try { + estimate = notEmpty.awaitNanos(estimate); // signal by recycle or creator + } catch (InterruptedException ie) { + notEmpty.signal(); // propagate to non-interrupted thread + throw ie; + } + if (poolingCount == 0) { if (estimate > 0) { continue;