On 7/18/07, yogesh tillu <[EMAIL PROTECTED]> wrote:



Aditya Godbole <[EMAIL PROTECTED]> wrote: On 7/17/07, Pranav Peshwe
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
* But I think currently copy on write approach is used for the
*implementation of the fork .So entire address space will not get
*replicated {previously clone approach was used , so in that *whole  address
space gets replicated }
*
and is flushed after the second the printf in both processes.

-aditya


cheers,
yogesh


    Yes.Thats right.But isnt the buffer in the user area.Which is copied as
is, except for the pointer to the proc structure.

---------------------------------
5, 50, 500, 5000. Store N number of mails in your inbox. Click here.
--
______________________________________________________________________
Pune GNU/Linux Users Group Mailing List:      (plug-mail@plug.org.in)
List Information:  http://plug.org.in/cgi-bin/mailman/listinfo/plug-mail
Send 'help' to [EMAIL PROTECTED] for mailing instructions.




--
Regards,
Ashutosh Adkar
--
______________________________________________________________________
Pune GNU/Linux Users Group Mailing List:      (plug-mail@plug.org.in)
List Information:  http://plug.org.in/cgi-bin/mailman/listinfo/plug-mail
Send 'help' to [EMAIL PROTECTED] for mailing instructions.

Reply via email to