Unblocking blocked I/O

Tom Tromey tromey@redhat.com
Wed Sep 26 09:07:00 GMT 2001


>>>>> "Bryce" == Bryce McKinlay <bryce@waitaki.otago.ac.nz> writes:

Bryce> 	* java/io/natFileDescriptorPosix.cc (write (jint)): Check for thread 
Bryce> 	interrupted status flag only if ::write returned an error.

My understanding is that write(2) can return a short (not -1) count
when interrupted.  From the glibc manual:

    `EINTR'
          The `write' operation was interrupted by a signal while it was
          blocked waiting for completion.  A signal will not necessary
          cause `write' to return `EINTR'; it may instead result in a
          successful `write' which writes fewer bytes than requested.

This is why the code used to check for the interrupt unconditionally.
I think this part of the change should be reverted.

Thanks,
Tom



More information about the Java mailing list