-
Bug
-
Resolution: Fixed
-
P4
-
1.4.2, 5.0, 6
-
b100
-
generic, x86, itanium
-
linux, windows, windows_xp, windows_vista
-
Verified
The unit test test/java/nio/channels/AsyncCloseAndInterrupt.java fails on Windows Vista beta 2.
The issue appears to be a bug in Windows Vista whereby closesocket does not preempt a thread that is blocked on WSASend with a buffer of length >= 128k. Preemption occurs as expected with buffers < 128k. This impacts NIO as we expect that the write method will throw an AsynchronousCloseException when the thread is interrupted or the SocketChannel is closed. Classic networking is not impacted by this bug as it limits the write buffer to 64k.
The issue appears to be a bug in Windows Vista whereby closesocket does not preempt a thread that is blocked on WSASend with a buffer of length >= 128k. Preemption occurs as expected with buffers < 128k. This impacts NIO as we expect that the write method will throw an AsynchronousCloseException when the thread is interrupted or the SocketChannel is closed. Classic networking is not impacted by this bug as it limits the write buffer to 64k.
- duplicates
-
JDK-4864154 (ch) Test java/nio/channels/AsyncCloseAndInterrupt.java times out (w2003)
- Closed
-
JDK-6470379 java/nio/channels/AsyncCloseAndInterrupt.java fails on Vista 5520
- Closed
- relates to
-
JDK-7074436 (sc) SocketChannel can do short gathering writes when channel configured blocking (win)
- Closed
-
JDK-7176630 (sc) SocketChannel.write does not write more than 128k when channel configured blocking [win]
- Closed