Looks fine. Mike
On Aug 14 2013, at 14:59 , Chris Hegarty wrote: > Source changes that follow Doug's mail on lambda-libs-spec-observers > > http://mail.openjdk.java.net/pipermail/lambda-libs-spec-observers/2013-August/002361.html > > These changes are already in the jsr166 CVS, and there is a test in OpenJDK > that verifies the change. > > diff --git a/src/share/classes/java/util/concurrent/ForkJoinPool.java > b/src/share/classes/java/util/concurrent/ForkJoinPool.java > --- a/src/share/classes/java/util/concurrent/ForkJoinPool.java > +++ b/src/share/classes/java/util/concurrent/ForkJoinPool.java > @@ -144,7 +144,8 @@ import java.util.concurrent.TimeUnit; > * Upon any error in establishing these settings, default parameters > * are used. It is possible to disable or limit the use of threads in > * the common pool by setting the parallelism property to zero, and/or > - * using a factory that may return {@code null}. > + * using a factory that may return {@code null}. However doing so may > + * cause unjoined tasks to never be executed. > * > * <p><b>Implementation notes</b>: This implementation restricts the > * maximum number of running threads to 32767. Attempts to create > @@ -3303,8 +3304,8 @@ public class ForkJoinPool extends Abstra > } > > if (parallelism < 0 && // default 1 less than #cores > - (parallelism = Runtime.getRuntime().availableProcessors() - 1) < > 0) > - parallelism = 0; > + (parallelism = Runtime.getRuntime().availableProcessors() - 1) > <= 0) > + parallelism = 1; > if (parallelism > MAX_CAP) > parallelism = MAX_CAP; > return new ForkJoinPool(parallelism, factory, handler, LIFO_QUEUE, > > -Chris.