From 4d32eaa036ce13d92151e3b78f71453f77dbbe92 Mon Sep 17 00:00:00 2001
From: zzz <zzz@mail.i2p>
Date: Fri, 3 Aug 2012 11:21:28 +0000
Subject: [PATCH]  * JobQueue: Synch fix (ticket #670)

---
 router/java/src/net/i2p/router/JobQueue.java | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/router/java/src/net/i2p/router/JobQueue.java b/router/java/src/net/i2p/router/JobQueue.java
index 1a65ac8953..a29ace0368 100644
--- a/router/java/src/net/i2p/router/JobQueue.java
+++ b/router/java/src/net/i2p/router/JobQueue.java
@@ -211,10 +211,14 @@ public class JobQueue {
     /**
      * Returns <code>true</code> if a given job is waiting or running;
      * <code>false</code> if the job is finished or doesn't exist in the queue.
+     *
+     * Only used by PluginStarter, candidate for deprecation
      */
     public boolean isJobActive(Job job) {
-        if (_readyJobs.contains(job) || _timedJobs.contains(job))
-            return true;
+        synchronized (_jobLock) {
+            if (_readyJobs.contains(job) || _timedJobs.contains(job))
+                return true;
+        }
         for (JobQueueRunner runner: _queueRunners.values())
             if (runner.getCurrentJob() == job)
                 return true;
-- 
GitLab