From ed42745b60e6c8b494bb46f83ac7366c5882a85b Mon Sep 17 00:00:00 2001 From: dsyer Date: Wed, 28 Oct 2009 11:24:12 +0000 Subject: [PATCH] Ease semaphore acquire out of synchronized block to prevent possible deadlock. --- .../batch/repeat/support/ResultHolderResultQueue.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/repeat/support/ResultHolderResultQueue.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/repeat/support/ResultHolderResultQueue.java index e282a0dd7..5456e9912 100644 --- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/repeat/support/ResultHolderResultQueue.java +++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/repeat/support/ResultHolderResultQueue.java @@ -75,8 +75,9 @@ public class ResultHolderResultQueue implements ResultQueue { * @see ResultQueue#expect() */ public void expect() throws InterruptedException { + waits.acquire(); + // Don't acquire the lock in a synchronized block - might deadlock synchronized (lock) { - waits.acquire(); count++; } }