7176630: (sc) SocketChannel.write does not write more than 128k when channel configured blocking [win]

Alan Bateman Alan.Bateman at oracle.com
Wed Jun 13 06:54:23 PDT 2012


I need a reviewer for a small change to the SocketChannel.write 
implementation on Windows. The issue on Windows is that we limit the 
buffer size to 128k-1 because asynchronous close doesn't work on Windows 
for sizes later than that (the long standing Microsoft recommendation is 
to use <=64k). The issue with limiting the size of the I/O operation is 
that the write method may return a value less than what is expected when 
the channel is configured blocking and this can cause problem for 
applications that don't check the return value. The changes just convert 
the large write into multiple calls to WSASend. The webrev with the 
changes is here:

http://cr.openjdk.java.net/~alanb/7176630/webrev/

Thanks,
Alan.


More information about the nio-dev mailing list