Subject: Re: pipes from FreeBSD and the NetBSD async I/O bug
To: email@example.com, Emmanuel Dreyfus <firstname.lastname@example.org>
From: Christos Zoulas <email@example.com>
Date: 04/30/2001 20:55:08
On Apr 30, 4:23pm, firstname.lastname@example.org (Jason R Thorpe) wrote:
-- Subject: Re: pipes from FreeBSD and the NetBSD async I/O bug
| The problem is that SIGIO is not specified by POSIX or SUSv2. Therefore,
| there is no standardized behavior to follow. Considering that SIGIO
| originated in BSD, it seems as if the behavior we currently have is
| "correct", in that it is the behavior of the original sockets implementation.
| > Another note: Digital UNIX 4.0 fails on the pipe test. I've found
| > another OS that does pipe async I/O the same way we do it.
| Right, that's because Digital UNIX (which, BTW, is largely "Mach, plus
| a bunch of 4.4BSD, plus some SVR4 stuff") uses sockets to implement pipes.
Code written correctly can handle both cases. Making assumptions about
when SIGIO is going to be sent will just lead to trouble. Typically
SIGIO is used in conjuction with select/poll to discover if the event
is a read or write availability event. I really don't understand why
the jdk is written in a way that fails when it receives extra SIGIO's.