git-svn-id: http://code.alibabatech.com/svn/druid/trunk@574 b9813039-fb51-4c41-a8b9-e21c2acb5095

This commit is contained in:
wenshao
2011-09-02 15:36:37 +00:00
parent dd2ab8a75a
commit 2023e41191
@@ -530,23 +530,21 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat
}
ConnectionHolder pollLast(long timeout, TimeUnit unit) throws InterruptedException {
long nanos = unit.toNanos(timeout);
long estimate = unit.toNanos(timeout);
for (;;) {
if (activeCount >= maxActive) {
nanos = notMaxActive.awaitNanos(nanos);
estimate = notMaxActive.awaitNanos(estimate);
}
if (poolingCount == 0) {
lowWater.signal();
long estimate = nanos;
for (;;) {
estimate = notEmpty.awaitNanos(estimate);
if (poolingCount == 0) {
if (estimate > 0) {
nanos = estimate;
continue;
}
@@ -562,13 +560,6 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat
connections[lastIndex] = null;
poolingCount--;
// if (lastIndex == minIdle - 1) {
// lowWater.signal();
// }
// if ((minIdle == 0 && poolingCount == 0) || poolingCount <= minIdle - 1) {
// lowWater.signal();
// }
return last;
}
}