From 97977a496fd56102ea08528d84160807e6d9b262 Mon Sep 17 00:00:00 2001 From: alanb Date: Wed, 14 Nov 2012 12:56:26 +0000 Subject: [PATCH] 8003285: TEST_BUG: java/nio/channels/AsynchronousChannelGroup/Unbounded.java fails again [macosx] Reviewed-by: chegar --- .../AsynchronousChannelGroup/Unbounded.java | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/test/java/nio/channels/AsynchronousChannelGroup/Unbounded.java b/test/java/nio/channels/AsynchronousChannelGroup/Unbounded.java index 6e764a2b6..cc1d71e1b 100644 --- a/test/java/nio/channels/AsynchronousChannelGroup/Unbounded.java +++ b/test/java/nio/channels/AsynchronousChannelGroup/Unbounded.java @@ -39,6 +39,9 @@ public class Unbounded { // set to true if an I/O operation fails static volatile boolean failed; + // set to true when the test is done + static volatile boolean finished; + public static void main(String[] args) throws Exception { // all accepted connections are added to a queue final ArrayBlockingQueue queue = @@ -54,8 +57,10 @@ public class Unbounded { listener.accept((Void)null, this); } public void failed(Throwable exc, Void att) { - failed = true; - System.err.println("accept failed: " + exc); + if (!finished) { + failed = true; + System.err.println("accept failed: " + exc); + } } }); System.out.println("Listener created."); @@ -120,8 +125,11 @@ public class Unbounded { // wait for all threads to reach the barrier System.out.println("Waiting for all threads to reach barrier"); barrier.await(); + + // finish up + finished = true; listener.close(); if (failed) - throw new RuntimeException("I/O failed failed, see log for details"); + throw new RuntimeException("I/O operation failed, see log for details"); } } -- GitLab