From bbd65c674138dcd335e56e6458d664a060dd5ebb Mon Sep 17 00:00:00 2001
From: Christian Wulf <chw@informatik.uni-kiel.de>
Date: Fri, 24 Jul 2015 21:42:30 +0200
Subject: [PATCH] fixed concurrency bug

---
 .../teetime/util/framework/concurrent/SignalingCounter.java  | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/main/java/teetime/util/framework/concurrent/SignalingCounter.java b/src/main/java/teetime/util/framework/concurrent/SignalingCounter.java
index b3a92700..31a9775d 100644
--- a/src/main/java/teetime/util/framework/concurrent/SignalingCounter.java
+++ b/src/main/java/teetime/util/framework/concurrent/SignalingCounter.java
@@ -53,8 +53,9 @@ public class SignalingCounter {
 		}
 
 		final Object cond = conditions.get(number);
-		while (counter != number) {
-			synchronized (cond) {
+
+		synchronized (cond) { // counter must be wrapped by synchronized to get the latest value
+			while (counter != number) {
 				cond.wait();
 			}
 		}
-- 
GitLab