Subject: CVS commit: syssrc
To: None <source-changes@netbsd.org>
From: Emmanuel Dreyfus <manu@netbsd.org>
List: source-changes
Date: 06/17/2001 00:32:52
Module Name: syssrc
Committed By: manu
Date: Sat Jun 16 21:32:52 UTC 2001
Modified Files:
syssrc/sys/compat/linux/common: linux_file.c
Log Message:
Linux does not send a SIGIO to the write end of a socket,
neither it does send any SIGIO for pipes. If async I/O
was requested, we keep the SS_ASYNC in struct socket flag
set, but we clear SB_ASYNC flags on the sending buffer
(for socket), and on the sending and the receiving buffer
(for pipes).
Because we do not alter to SS_ASYNC in struct socket,
the Linux process keeps a consistent view of async I/O
status if it attemps to read the async flag (SS_ASYNC)
This async I/O problem does matters, since some Linux
a programs such as the JDK request async I/O on pipes,
but they fail if they happen to get a SIGIO to the write
end of the pipe.
To generate a diff of this commit:
cvs rdiff -r1.38 -r1.39 syssrc/sys/compat/linux/common/linux_file.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.