Mercurial > hg > openjdk > bsd-port > jdk
changeset 7779:ed39d094c281
8003285: TEST_BUG: java/nio/channels/AsynchronousChannelGroup/Unbounded.java fails again [macosx]
Reviewed-by: chegar
author | alanb |
---|---|
date | Wed, 14 Nov 2012 12:56:26 +0000 |
parents | ce2dea6653e7 |
children | 80bc975ee4df |
files | test/java/nio/channels/AsynchronousChannelGroup/Unbounded.java |
diffstat | 1 files changed, 11 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/test/java/nio/channels/AsynchronousChannelGroup/Unbounded.java Sun Nov 11 10:05:37 2012 +0000 +++ b/test/java/nio/channels/AsynchronousChannelGroup/Unbounded.java Wed Nov 14 12:56:26 2012 +0000 @@ -39,6 +39,9 @@ // 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<AsynchronousSocketChannel> queue = @@ -54,8 +57,10 @@ 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 @@ // 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"); } }