Author: toad
Date: 2007-08-11 16:16:22 +0000 (Sat, 11 Aug 2007)
New Revision: 14609
Modified:
trunk/freenet/src/freenet/support/PooledExecutor.java
Log:
Use notifyAll() and explain why.
Modified: trunk/freenet/src/freenet/support/PooledExecutor.java
===================================================================
--- trunk/freenet/src/freenet/support/PooledExecutor.java 2007-08-11
15:48:13 UTC (rev 14608)
+++ trunk/freenet/src/freenet/support/PooledExecutor.java 2007-08-11
16:16:22 UTC (rev 14609)
@@ -37,7 +37,10 @@
if(t.nextJob != null) continue;
t.nextJob = job;
if(!mustStart)
- t.notify();
+ // It is possible that we could get a
wierd race condition with
+ // notify()/wait() signalling on a
thread being used by higher
+ // level code. So we'd best use
notifyAll().
+ t.notifyAll();
}
t.setName(jobName);
if(mustStart) {