No, it's saying that the handle needs to be serviced. Specifically, it needs to be closed because it reached EOF. I explained this. Stop using select on a handle you're told is closed.
Aaaah.... your meaning was not clear to me. So what you're telling me is that a FIFO, now, must be regarded as a one-shot that can be read to EOF once, then must be closed and re-opened in order to re-use it? One can no longer simply keep the read end open and wait for more input to be written to it by the same or a different "client"? (Doing so used to work. Is it then possibly a now-fixed bug in Perl's handling of FIFOs that it ever did work?)
I've now rewritten the code to read the FIFO (yes, using sysread), then immediately close and re-open it. I was concerned that this might introduce the possibility of race conditions, but testing shows that this is not in fact a problem. Thanks for the explanation of what was happening here; I just didn't actually "get" the key part of the explanation the first time around.
In reply to Re^4: Malfunctioning select() call on a FIFO
by Llew_Llaw_Gyffes
in thread Malfunctioning select() call on a FIFO
by Llew_Llaw_Gyffes
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |