Hi,all:

In UML,when do_fork was called,the new process P will be created in UML. Then 
in copy_thread_tt(in fact in start_fork_tramp)the corresponding process Q will 
be created in the host linux. I know the pid of the corresponding host process 
Q is appointed as the extern_pid of the UML process P. But then how will the 2 
processes do next individually?

In UML,the function copy_thread_tt call start_fork_tramp, which cloned a 
thread. Once the thread was created it will run the outer_tramp function,in 
which cloned another thread. Once the second thread was created it will run the 
tramp function(fork_tramp or new_thread_proc). In fact the first thread is a 
temp one.it will kill itself later.Then why does UML clone 2 threads in 
copy_thread_tt?

In UML,when the kernel_thread was called,the UML kernel thread P will be 
created in copy_process. And the corresponding host thread Q will be create in 
copy_thread_tt. Then the host thread Q will run its SIGUSR1 signal handler 
new_thread_handler,which will call run_kernel_thread function and exited at 
last. But I think it should be the UML kernel thread P that call 
run_kernel_thread function, any problems? 

Thanks a lot!

Alex




-------------------------------------------------------
This SF.Net email is sponsored by Oracle Space Sweepstakes
Want to be the first software developer in space?
Enter now for the Oracle Space Sweepstakes!
http://ads.osdn.com/?ad_idt12&alloc_id344&op=click
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

Reply via email to