diff --git a/hikaricp-common/src/main/java/com/zaxxer/hikari/util/ConcurrentBag.java b/hikaricp-common/src/main/java/com/zaxxer/hikari/util/ConcurrentBag.java index b8a8a9e6..618361cf 100644 --- a/hikaricp-common/src/main/java/com/zaxxer/hikari/util/ConcurrentBag.java +++ b/hikaricp-common/src/main/java/com/zaxxer/hikari/util/ConcurrentBag.java @@ -125,11 +125,13 @@ public class ConcurrentBag listener.addBagItem(); - synchronizer.tryAcquireSharedNanos(startSeq, timeout); + if (!synchronizer.tryAcquireSharedNanos(startSeq, timeout)) { + return null; + } timeout = originTimeout - (System.nanoTime() - startScan); } - while (timeout > 0L); + while (timeout > 1000L); // 1000ns is the minimum resolution on many systems return null; }