From owner-freebsd-current Fri Apr 26 08:32:59 1996 Return-Path: owner-current Received: (from root@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id IAA14000 for current-outgoing; Fri, 26 Apr 1996 08:32:59 -0700 (PDT) Received: from godzilla.zeta.org.au (godzilla.zeta.org.au [203.2.228.19]) by freefall.freebsd.org (8.7.3/8.7.3) with SMTP id IAA13993 for ; Fri, 26 Apr 1996 08:32:53 -0700 (PDT) Received: (from bde@localhost) by godzilla.zeta.org.au (8.6.12/8.6.9) id BAA15242; Sat, 27 Apr 1996 01:31:14 +1000 Date: Sat, 27 Apr 1996 01:31:14 +1000 From: Bruce Evans Message-Id: <199604261531.BAA15242@godzilla.zeta.org.au> To: bde@zeta.org.au, toor@dyson.iquest.net Subject: Re: fixing FSETOWN/SIGIO Cc: current@freebsd.org Sender: owner-current@freebsd.org X-Loop: FreeBSD.org Precedence: bulk >> 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