Subject: Re: SIGIO bugs?
To: None <tech-kern@netbsd.org>
From: der Mouse <mouse@Rodents.Montreal.QC.CA>
List: tech-kern
Date: 01/21/2002 18:30:47
>> [I]t appears that fcntl(F_SETOWN) on anything but a socket
>> interprets a process ID (positive arg) as meaning "send SIGIO to the
>> whole process group this process belongs to", not the documented
>> behavior of sending SIGIO to (just) that process.
> This worked as intended last time I looked (when I tested SIGIO for
> NEW_PIPE).
What DTYPE_ are they? If they're not DTYPE_SOCKET (which NEW_PIPE
pipes may be, for all I know), I suspect you just didn't test
thoroughly enough.
> Positive value is process ID, negative is -process_group. At least
> it _appeared_ to be working for me.
Yes, but a process ID is silently converted to that process's process
group ID for everything that's not DTYPE_SOCKET. Read the code at case
F_SETOWN in kern/kern_descrip.c....
/~\ The ASCII der Mouse
\ / Ribbon Campaign
X Against HTML mouse@rodents.montreal.qc.ca
/ \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B