On Sun, Sep 18, 2011 at 02:54:34PM +0300, Mikolaj Golub wrote: > > On Sun, 18 Sep 2011 13:25:26 +0200 Ronald Klop wrote: > > RK> It is a while since I programmed C, but why will writing 0 bytes give > RK> the reader an end-of-file? Shouldn't the fd be closed to indicate > RK> end-of-file? > > AFAIR, this trick with writing 0 to emulate EOF because we can't close the fd > -- we still want to read from it. Poor shutdown(2) for non-socket :-). > > Colin might tell more...
Please note that interpreting the receiving of 0 bytes on the terminal as EOF is only a convention. If done absolutely properly, script shall not interpret zero-byte read as EOF. Might be, the reasonable thing to do would be to only look at the stdin once in a second after receiving zero-bytes, and switching it back to normal mode if something is read.
pgpHt3LnC7dhH.pgp
Description: PGP signature