On Wed, 10 Mar 2010 21:04:10 +0100
Ed Schouten <ed@80386.nl> wrote:
> * Ed Schouten <ed@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