Skip site navigation (1)Skip section navigation (2)
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>