From ed5e8c1c95320fe7a009f3e1e041d27616ce696e Mon Sep 17 00:00:00 2001 From: weijun Date: Mon, 21 May 2012 15:40:30 +0800 Subject: [PATCH] 7170308: timing error in the krb5 test SSL.java Reviewed-by: xuelei --- test/sun/security/krb5/auto/SSL.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/test/sun/security/krb5/auto/SSL.java b/test/sun/security/krb5/auto/SSL.java index 496097bbc..7ad0bd82c 100644 --- a/test/sun/security/krb5/auto/SSL.java +++ b/test/sun/security/krb5/auto/SSL.java @@ -53,6 +53,9 @@ public class SSL { private static volatile String server; private static volatile int port; + // 0-Not started, 1-Start OK, 2-Failure + private static volatile int serverState = 0; + public static void main(String[] args) throws Exception { krb5Cipher = args[0]; @@ -109,14 +112,20 @@ public class SSL { s.doAs(new JsseServerAction(), null); } catch (Exception e) { e.printStackTrace(); + serverState = 2; } } }); server.setDaemon(true); server.start(); - // Warm the server - Thread.sleep(2000); + while (serverState == 0) { + Thread.sleep(50); + } + + if (serverState == 2) { + throw new Exception("Server already failed"); + } // Now create the keytab @@ -214,6 +223,7 @@ public class SSL { (SSLServerSocket) sslssf.createServerSocket(0); // any port port = sslServerSocket.getLocalPort(); System.out.println("Listening on " + port); + serverState = 1; // Enable only a KRB5 cipher suite. String enabledSuites[] = {krb5Cipher}; -- GitLab