>>>>> "Alex" == Alex Povolotsky <tark...@asteroid.svib.ru> writes:

 Alex>  if ((control = open("STATUS",O_WRONLY|O_NONBLOCK))<0) {

 Alex> fails to run (STATUS is pre-created FIFO file) with error
 Alex> "Device not configured", which seems kinda odd for me.

 Alex> However, when FIFO is opened with O_RDWR and O_NONBLOCK, every
 Alex> attempt to select(2) its handler for writing doesn't wait until
 Alex> someone opens FIFO for reading, but instead FIFO is ready to
 Alex> write at every select.

 Alex> Is it a bug or a feature?

Both are features.

The behaviour of open() in the first case is required by standards. In
the second case, the fact that the FIFO has been opened O_RDWR means
that it _is_ ready for writing, and select() is correctly returning
the fact.

-- 
Andrew.


To Unsubscribe: send mail to majord...@freebsd.org
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to