Package: manpages-dev Version: 1.60-2 We've just been bitten by this at work.
If you read the LEASES section of fcntl(2), it explains that open() with O_NONBLOCK could cause open to return EWOULDBLOCK. This is not explained anywhere on the open() page; open() has many possible return codes, none of which are EWOULDBLOCK. (There is a comment about opening fifos in nonblocking mode, but the error code description implies that this would return ENXIO, not EWOULDBLOCK.) Also, the fcntl(2) page doesn't say whether opening a leased file with O_NONBLOCK will actually request the lease to be broken or not. It appears you *have* to open in blocking mode in order to open a leased file at all, but that's not clear from the description. It wouldn't be so bad to open in blocking mode since a lease is guaranteed to be broken after a certain timeout. But a naive implementation would introduce a security hole since the file might be replaced by surprise with a FIFO, which has no open timeout at all. Have fun, Avery -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

