[PLUG] Weird Output of a C program in Linux
Aditya Godbole
aag.lists at gmail.com
Wed Jul 18 01:14:27 IST 2007
On 7/17/07, Pranav Peshwe <pranavpeshwe at gmail.com> wrote:
>
> IMHO, it does send the data to the buffer. Due to the fork, the new
> task(child) gets a copy of the buffer (which already contains the 'Hello
> World!' string). This(fork()) is where the duplication occurs. Further
> printfs in the two tasks lead to flushing of their respective buffers to the
> console. With a '\n' after 'Hello World!', the child would get an empty
> buffer to begin with.
>
Yeah, thats right. The buffer is filled but not flushed. After the
fork, the entire address space (and hence the buffer) gets replicated
and is flushed after the second the printf in both processes.
-aditya
More information about the Plug-mail
mailing list