tty or script(1) weirdness?

Gary Jennejohn gary.jennejohn at freenet.de
Thu Mar 11 10:57:49 UTC 2010


On Wed, 10 Mar 2010 21:04:10 +0100
Ed Schouten <ed at 80386.nl> wrote:

> * Ed Schouten <ed at 80386.nl> wrote:
> > Hmmm... It seems this is a TTY bug. When you close a TTY, the final
> > close() call should get stuck until all data is actually drained. This
> > doesn't seem to happen properly.
> 
> Some further research: it's not a TTY bug, but a bug in script(1).
> The script parent process leaves a file descriptor open, which means
> output is never properly drained.
> 
> I can't reproduce this issue after applying this patch:
> 
> %%%
> Index: script.c
> ===================================================================
> --- script.c	(revision 204965)
> +++ script.c	(working copy)
> @@ -158,6 +158,8 @@
>  	}
>  	if (child == 0)
>  		doshell(argv);
> +	else
> +		close(slave);
>  
>  	if (flushtime > 0)
>  		tvp = &tv;
> %%%
> 

Looks very convincing.  I say commit it.

---
Gary Jennejohn


More information about the freebsd-hackers mailing list