[ http://issues.apache.org/jira/browse/HARMONY-707?page=comments#action_12418788 ] Andrew Zhang commented on HARMONY-707: -------------------------------------- Hello George, The fix looks fine, many thanks! Best regards, Andrew > [classlib][nio] java.nio.channels.ServerSocketChannel.accept() method changes the value of SO_TIMEOUT if there are no pending connections in nonblocking mode. > -------------------------------------------------------------------------------------------------------------------------------------------------------------- > > Key: HARMONY-707 > URL: http://issues.apache.org/jira/browse/HARMONY-707 > Project: Harmony > Type: Bug > Components: Classlib > Reporter: Andrew Zhang > Assignee: George Harley > Priority: Minor > Attachments: nio.diff > > java.nio.channels.ServerSocketChannel.accept() method changes the value of SO_TIMEOUT if there are no pending connections in nonblocking mode. > I'll upload a patch soon. Thanks! > Test case: > public void test_accept() throws IOException { > final int SO_TIMEOUT = 800; > ServerSocketChannel sc = ServerSocketChannel.open(); > try { > ServerSocket ss = sc.socket(); > ss.bind(new InetSocketAddress("127.0.0.1", 0)); > sc.configureBlocking(false); > ss.setSoTimeout(SO_TIMEOUT); > SocketChannel client = sc.accept(); > // non blocking mode, returns null since there are no pending connections. > assertNull(client); > int soTimeout = ss.getSoTimeout(); > // Harmony fails here. > assertEquals(SO_TIMEOUT, soTimeout); > } finally { > sc.close(); > } > } > Test result: > RI 5.0 passes the test while Harmony fails. > Best regards, > Andrew -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira