> It seems that there's an exception: If no process has ever had the FIFO open 
> for
> writing since it was opened for reading, then the FIFO is not considered to be
> at end-of-file.

IMO, when a virgin FIFO is read with a blocking read (of just one byte), it 
will block -- it will not return 0.
Meaning that such a FIFO was not ready for read (when the other end was not 
(yet) attached / written), and
also meaning that there was no EOF (which is obvious because a transaction has 
not even started).
select() should indicate just the same (and it does so on the discussed 
platforms) regardless of O_NONBLOCK.

Anton Lavrentiev
Contractor NIH/NLM/NCBI


-- 
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple

Reply via email to