diff options
Diffstat (limited to 'vespaclient-core/src/main/java')
-rwxr-xr-x | vespaclient-core/src/main/java/com/yahoo/feedapi/SharedSender.java | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/vespaclient-core/src/main/java/com/yahoo/feedapi/SharedSender.java b/vespaclient-core/src/main/java/com/yahoo/feedapi/SharedSender.java index 4c96a7efc0b..08243c4e0ec 100755 --- a/vespaclient-core/src/main/java/com/yahoo/feedapi/SharedSender.java +++ b/vespaclient-core/src/main/java/com/yahoo/feedapi/SharedSender.java @@ -223,10 +223,11 @@ public class SharedSender implements ReplyHandler { @Override protected boolean tryReleaseShared(int releases) { // Increment/Decrement count; signal when transition downwards to zero. + // releases == 0 means unblock all while ( true ) { int c = getState(); if ((c == 0) && (releases >= 0)) { return false; } - int nextc = (c > releases) ? c - releases : 0; + int nextc = (c > releases) ? ((releases != 0) ? c - releases : 0) : 0; if (compareAndSetState(c, nextc)) { return nextc == 0; } |