On Wed, Oct 1, 2008 at 6:12 PM, srimugunthan dhandapani <[EMAIL PROTECTED] > wrote:
> hi all, > I want to understand how the fork call return 0 in child and 'pid of child' > in the parent. > Presently my (naive)understanding is that the %eax value is stored > differently for the child and the parent. > Both the child and the parent returns from fork to the same instruction > address, but will have different return values according to %eax. > as per my understanding child is not returning from the fork insted "wake_up_new_task" function will add the child process is runqueue. And caller will return with the child process by "return nr"; > > Is my understanding correct? > Can somebody point out where exaclty in the source this is taken care of? > copy_process is called from the do_fork. copy_process function is created new task_struct for the child process. get new process id for the child process But still i am not getting where it is setting the pid value to 0 for child process. please correct if i am wrong. thanks, mitul modi > Thanks, > Mugunthan >
