Thread (1 message) 1 message, 1 author, 2016-06-15

Re: [RFH] plumber's puzzle

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:43:06

Linus Torvalds [off-list ref] writes:
On Sun, 22 Apr 2007, Junio C Hamano wrote:
quoted
I should be happy that I figured out what is going on, but I am
not very happy with this patch.
That actually looks like the right patch.

The "fflush() before fork()" thing is a real issue, and a real bug. Stdio 
is buffered, and yes, fork() will duplicate the buffer if not flushed.

Of course, I'm not 100% sure that is the right _place_ for the fflush() 
call. I wonder if we should just do the fflush() closer to the place that 
generates the data. As it is, we may have other things like that lurking.

Of course, delaying the fflush as long as possible is likely good for 
performance, so doing it just before the fork() (even if it may be ugly 
and somewhat unexpected at that point to have to do it) may just be the 
right thing regardless...
Another possibility I considered is to call low-level _exit so
that we bypass not just stdio flushing but also atexit().  But I
think "fflush() before fork()" is cleaner.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help