Ken Brown wrote:
> I did an internet search on this issue and found the following, which
describes the
> situation we're discussing:
https://stackoverflow.com/questions/14594508/fifo-pipe-is-always-readable-in-select
> According to that post, select on Linux will wait for a writer the
first time it's
> called to check read readiness for a FIFO opened for reading with
O_NONBLOCK set.
> But if the writer then closes the FIFO, subsequent calls to select
will always find
> the FIFO read ready (and read will return 0). This behavior is not
documented, as far as
> I can tell, and in fact it contradicts the existing documentation
(both POSIX and Linux).
> So I don't think someone trying to write a portable program should
rely on it.
Please, note that this code was working on cygwin the way it works on
linux until some
time ago, maybe last year, I am not sure. I also found this
stackoverflow discussion:
https://stackoverflow.com/questions/28851639/select-with-non-blocking-reads
I tried the code also on Solaris and NetBSD and it works exactly as on
linux, so I think
it is portable.
--
Enrico
--
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