On Sun, Sep 18, 2011 at 11:57:57PM +0300, Mikolaj Golub wrote:
> 
> On Sun, 18 Sep 2011 20:24:23 +0300 Kostik Belousov wrote:
> 
>  KB> 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...
> 
>  KB> Please note that interpreting the receiving of 0 bytes on the terminal 
>  KB> as EOF is only a convention. If done absolutely properly, script shall
>  KB> not interpret zero-byte read as EOF. Might be, the reasonable thing to
>  KB> do would be to only look at the stdin once in a second after receiving
>  KB> zero-bytes, and switching it back to normal mode if something is read.
> 
> Ok. I see. Below is the patch that does something like this.

Looks fine for me, but I did not tested it. I would also suggest to document
this behaviour, which can cause a 1-second pause in processing of the user
input, somewhere in script(1) manpage, BUGS ?

Attachment: pgp8OqRUNOhFz.pgp
Description: PGP signature

Reply via email to