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