Date: Sat, 27 Apr 1996 01:31:14 +1000 From: Bruce Evans <bde@zeta.org.au> To: bde@zeta.org.au, toor@dyson.iquest.net Cc: current@freebsd.org Subject: Re: fixing FSETOWN/SIGIO Message-ID: <199604261531.BAA15242@godzilla.zeta.org.au>
next in thread | raw e-mail | index | archive | help
>> I found some more while looking at something else (stat()) for pipes: >> >> 3. FSETOWN on pipes is a no-op. The SIGIO handling got lost when pipes >> were reimplemented as non-sockets. >I intended (all along) to fix this. So, I'll put that one in my basket >of things to do. Erm, I've already fixed it to work more or less as (in)correctly as FSETOWN for sockets. See (3) in my list of fixes. Another problem with it: - since it is controlled by fcntl(), you'd expect the pgid to be per-file descriptor. In fact, it is per-device. The docs should at least that it is broken. Similar problem with O_NONBLOCK/FIONBIO: - O_NBONBLOCK is controlled by fcntl(), so you'd expect it to be per-file descriptor. In fact, for pipes, sockets, /dev/snoop, /dev/bpf and /dev/tun, it is implemented by converting it to the per-device ioctl FIONBIO. It is correctly implemented for /dev/log and ttys (the IO_NDELAY flag is passed to read() and write()). Bruce
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199604261531.BAA15242>