From 8321f01bf808dab90186b5009caa9698565d015e Mon Sep 17 00:00:00 2001 From: Juergen Hoeller Date: Fri, 7 Apr 2017 13:39:58 +0200 Subject: [PATCH] SettableTask.checkCompletingThread() only resets marker after match Issue: SPR-15409 (cherry picked from commit 8cb24e0) --- .../util/concurrent/SettableListenableFuture.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/spring-core/src/main/java/org/springframework/util/concurrent/SettableListenableFuture.java b/spring-core/src/main/java/org/springframework/util/concurrent/SettableListenableFuture.java index 411419f6c94..1b19a672bc1 100644 --- a/spring-core/src/main/java/org/springframework/util/concurrent/SettableListenableFuture.java +++ b/spring-core/src/main/java/org/springframework/util/concurrent/SettableListenableFuture.java @@ -169,7 +169,9 @@ public class SettableListenableFuture implements ListenableFuture { private boolean checkCompletingThread() { boolean check = (this.completingThread == Thread.currentThread()); - this.completingThread = null; // only first check actually counts + if (check) { + this.completingThread = null; // only first match actually counts + } return check; } }