--- jsr166/src/test/tck/ForkJoinTask8Test.java 2015/09/09 00:33:23 1.17 +++ jsr166/src/test/tck/ForkJoinTask8Test.java 2015/10/04 18:40:57 1.18 @@ -74,7 +74,7 @@ public class ForkJoinTask8Test extends J } private void testInvokeOnPool(ForkJoinPool pool, RecursiveAction a) { - try { + try (PoolCleaner cleaner = cleaner(pool)) { assertFalse(a.isDone()); assertFalse(a.isCompletedNormally()); assertFalse(a.isCompletedAbnormally()); @@ -90,8 +90,6 @@ public class ForkJoinTask8Test extends J assertFalse(a.isCancelled()); assertNull(a.getException()); assertNull(a.getRawResult()); - } finally { - joinPool(pool); } } @@ -1165,31 +1163,29 @@ public class ForkJoinTask8Test extends J final ForkJoinTask b = ForkJoinTask.adapt(awaiter(done)); final ForkJoinTask c = ForkJoinTask.adapt(awaiter(done)); final ForkJoinPool p = singletonPool(); - Thread external = new Thread(new CheckedRunnable() { - public void realRun() { - p.execute(a); - p.execute(b); - p.execute(c); - }}); - RecursiveAction s = new CheckedRecursiveAction() { - protected void realCompute() { - external.start(); - try { - external.join(); - } catch (Exception ex) { - threadUnexpectedException(ex); - } - assertTrue(p.hasQueuedSubmissions()); - assertTrue(Thread.currentThread() instanceof ForkJoinWorkerThread); - ForkJoinTask r = ForkJoinTask.pollSubmission(); - assertTrue(r == a || r == b || r == c); - assertFalse(r.isDone()); - }}; - try { + try (PoolCleaner cleaner = cleaner(p)) { + Thread external = new Thread(new CheckedRunnable() { + public void realRun() { + p.execute(a); + p.execute(b); + p.execute(c); + }}); + RecursiveAction s = new CheckedRecursiveAction() { + protected void realCompute() { + external.start(); + try { + external.join(); + } catch (Exception ex) { + threadUnexpectedException(ex); + } + assertTrue(p.hasQueuedSubmissions()); + assertTrue(Thread.currentThread() instanceof ForkJoinWorkerThread); + ForkJoinTask r = ForkJoinTask.pollSubmission(); + assertTrue(r == a || r == b || r == c); + assertFalse(r.isDone()); + }}; p.invoke(s); - } finally { done.countDown(); - joinPool(p); } }