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