diff --git a/src/main/java/com/zaxxer/hikari/util/ConcurrentBag.java b/src/main/java/com/zaxxer/hikari/util/ConcurrentBag.java index 28665801..8e8e79f7 100755 --- a/src/main/java/com/zaxxer/hikari/util/ConcurrentBag.java +++ b/src/main/java/com/zaxxer/hikari/util/ConcurrentBag.java @@ -188,13 +188,15 @@ public class ConcurrentBag implements AutoCloseab public void requite(final T bagEntry) { bagEntry.setState(STATE_NOT_IN_USE); - + + if (waiters.get() != 0) { + synchronizer.signal(); + } + final List threadLocalList = threadList.get(); if (threadLocalList != null) { threadLocalList.add(weakThreadLocals ? new WeakReference<>(bagEntry) : bagEntry); } - - synchronizer.signal(); } /**