From 1beab3cc443fcb291dc2ed880431767988631bf0 Mon Sep 17 00:00:00 2001 From: Michael McMahon Date: Tue, 19 Nov 2013 17:49:57 +0000 Subject: [PATCH] 8028581: [TESTBUG] java/net/Socket/LingerTest.java failing Reviewed-by: alanb --- jdk/test/java/net/Socket/LingerTest.java | 31 +++++++++++++----------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/jdk/test/java/net/Socket/LingerTest.java b/jdk/test/java/net/Socket/LingerTest.java index 84a02ef8503..aa7b7d04862 100644 --- a/jdk/test/java/net/Socket/LingerTest.java +++ b/jdk/test/java/net/Socket/LingerTest.java @@ -68,20 +68,21 @@ public class LingerTest { } } - static class Another implements Runnable { + static class Other implements Runnable { int port; long delay; boolean connected = false; - public Another(int port, long delay) { + public Other(int port, long delay) { this.port = port; this.delay = delay; } public void run() { - System.out.println ("Another starts"); + System.out.println ("Other starts: sleep " + delay); try { Thread.sleep(delay); + System.out.println ("Other opening socket"); Socket s = new Socket("localhost", port); synchronized (this) { connected = true; @@ -91,7 +92,7 @@ public class LingerTest { catch (Exception ioe) { ioe.printStackTrace(); } - System.out.println ("Another ends"); + System.out.println ("Other ends"); } public synchronized boolean connected() { @@ -115,27 +116,29 @@ public class LingerTest { Thread thr = new Thread(new Sender(s1)); thr.start(); - // another thread that will connect after 5 seconds. - Another another = new Another(ss.getLocalPort(), 5000); - thr = new Thread(another); + // other thread that will connect after 5 seconds. + Other other = new Other(ss.getLocalPort(), 5000); + thr = new Thread(other); thr.start(); // give sender time to queue the data + System.out.println ("Main sleep 1000"); Thread.sleep(1000); + System.out.println ("Main continue"); // close the socket asynchronously (new Thread(new Closer(s1))).start(); - // give another time to run - Thread.sleep(10000); + System.out.println ("Main sleep 15000"); + // give other time to run + Thread.sleep(15000); + System.out.println ("Main closing serversocket"); ss.close(); - // check that another is done - if (!another.connected()) { - throw new RuntimeException("Another thread is blocked"); + // check that other is done + if (!other.connected()) { + throw new RuntimeException("Other thread is blocked"); } System.out.println ("Main ends"); - } - }