OpenJDK / icedtea / jdk7 / jdk
changeset 2357:f88f6f8ddd21
6934923: test/java/net/ipv6tests/TcpTest.java hangs on Solaris 10
Reviewed-by: alanb
author | chegar |
---|---|
date | Tue, 16 Mar 2010 10:05:51 +0000 |
parents | cda90ceb7176 |
children | 895a1211b2e1 |
files | test/java/net/ipv6tests/TcpTest.java test/java/net/ipv6tests/Tests.java |
diffstat | 2 files changed, 29 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- a/test/java/net/ipv6tests/TcpTest.java Fri Mar 12 09:06:00 2010 -0800 +++ b/test/java/net/ipv6tests/TcpTest.java Tue Mar 16 10:05:51 2010 +0000 @@ -47,9 +47,11 @@ try { ia4any = InetAddress.getByName ("0.0.0.0"); ia6any = InetAddress.getByName ("::0"); - int scope = ia6addr.getScopeId(); - if (scope != 0) { - ia6bad = InetAddress.getByName ("fe80::1:2:3:4:5:6%"+scope); + if (ia6addr != null) { + int scope = ia6addr.getScopeId(); + if (scope != 0) { + ia6bad = InetAddress.getByName ("fe80::1:2:3:4:5:6%"+scope); + } } else { ia6bad = InetAddress.getByName ("fe80::1:2:3:4:5:6"); }
--- a/test/java/net/ipv6tests/Tests.java Fri Mar 12 09:06:00 2010 -0800 +++ b/test/java/net/ipv6tests/Tests.java Tue Mar 16 10:05:51 2010 +0000 @@ -38,12 +38,25 @@ OutputStream o1 = s1.getOutputStream(); OutputStream o2 = s2.getOutputStream(); - simpleWrite (o1, 100); - simpleWrite (o2, 200); + startSimpleWriter("SimpleWriter-1", o1, 100); + startSimpleWriter("SimpleWriter-2", o2, 200); simpleRead (i2, 100); simpleRead (i1, 200); } + static void startSimpleWriter(String threadName, final OutputStream os, final int start) { + (new Thread(new Runnable() { + public void run() { + try { simpleWrite(os, start); } + catch (Exception e) {unexpected(e); } + }}, threadName)).start(); + } + + static void unexpected(Exception e ) { + System.out.println("Unexcepted Exception: " + e); + e.printStackTrace(); + } + /** * Send a packet from s1 to s2 (ia2/s2.localPort) and check it * Send a packet from s2 to s1 (ia1/s1.localPort) and check it @@ -247,13 +260,15 @@ } private NetworkInterface getNextIf () { - while (ifs.hasMoreElements()) { - NetworkInterface nic = (NetworkInterface)ifs.nextElement(); - try { - if (nic.isUp() && !nic.isLoopback()) - return nic; - } catch (SocketException e) { - // ignore + if (ifs != null) { + while (ifs.hasMoreElements()) { + NetworkInterface nic = (NetworkInterface)ifs.nextElement(); + try { + if (nic.isUp() && !nic.isLoopback()) + return nic; + } catch (SocketException e) { + // ignore + } } }