7023403: (ch) sun.nio.ch.SolarisEventPort.startPoll failed with AssertionError

Alan Bateman Alan.Bateman at oracle.com
Fri Mar 4 10:03:35 PST 2011


This is another small fix to the asynchronous I/O implementation. One 
the tests (test/java/nio/channels/AsynchronousSocketChannel/Basic.java) 
has failed a couple of times on solaris-x64. It's not easy to reproduce 
but basically if a channel is asynchronously closed at just around the 
time that it becomes writable and if the channel also has an outstanding 
read then it will restart the read with an invalid file descriptor.  
Same thing if asynchronously closed at just around the time that it 
becomes readable with an outstanding write operations. The fix is small 
and ensues that it doesn't restart the read (or write) then closed. The 
webrev with the changes is here;
  http://cr.openjdk.java.net/~alanb/7023403/webrev/

Thanks,
-Alan.



More information about the nio-dev mailing list