On Sat, 2003-08-30 at 15:20, Giacomo Pati wrote: > Is someone on the Doug Lea list (if there is any) to report this?
I got an answer from him, he provided me with a slightly edited change: protected synchronized void workerDone(Worker w) { threads_.remove(w); if (--poolSize_ == 0 && shutdown_) { maximumPoolSize_ = minimumPoolSize_ = 0; // disable new threads notifyAll(); // notify awaitTerminationAfterShutdown } if (!shutdown_) { // create a replacement now if needed if (poolSize_ < minimumPoolSize_) { try { Runnable r = (Runnable)(handOff_.poll(0)); if (r != null) addThread(r); } catch(InterruptedException ie) { return; } } } } I've patched the concurrent 1.3.2 package with this change and put it in CVS. This change will be part of the next maintenance release of concurrent (he had this problem fixed already in the JSR-166 version of that class). -- Bruno Dumon http://outerthought.org/ Outerthought - Open Source, Java & XML Competence Support Center [EMAIL PROTECTED] [EMAIL PROTECTED]