Messages in this thread | | | Date | Fri, 15 Jun 2012 18:32:54 +0800 | Subject | Re: 3.5.rc2 tty buffering bug ? | From | Cong Wang <> |
| |
On Fri, Jun 15, 2012 at 12:13 AM, Dave Jones <davej@redhat.com> wrote: > but when redirected to a file, sometimes it prints what we expect, but other times > (if the child exits first) it seems to print.. > > begin > child > end > begin > parent > end > > > How does 'begin' get printed a second time ? >
setbuf(3) said:
" Normally all files are block buffered. [...] If a stream refers to a terminal (as stdout normally does) it is line buffered. The standard error stream stderr is always unbuffered by default. " So when you redirect stdout to a file, "begin\n" is buffered too, both in child and in parent.
| |