diff --git a/reactor-pool/src/main/java/reactor/pool/SimpleDequePool.java b/reactor-pool/src/main/java/reactor/pool/SimpleDequePool.java index 84517d5..6702de5 100644 --- a/reactor-pool/src/main/java/reactor/pool/SimpleDequePool.java +++ b/reactor-pool/src/main/java/reactor/pool/SimpleDequePool.java @@ -415,6 +415,7 @@ private void drainLoop() { *=======================*/ Borrower borrower = pendingPoll(borrowers); if (borrower == null || borrower.get()) { + poolConfig.allocationStrategy().returnPermits(permits); continue; //we expect to detect pool is shut down in next round or the Borrower was cancelled } if (isDisposed()) {