From 8cb24e0d93c9a073fc9a8b50692c90c2e19a5b43 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 --- .../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 08c2418a623..73198dbf237 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; } }