On Mon, Apr 18, 2016 at 12:18:00PM +0530, Nitin Varyani wrote:
Linux kernel development by Robert Love describes the fork process as
fork() -> clone() -> do_fork() -> copy_process()
I am unable to find the clone() system call in linux 3.13. Can someone explain the proper flow of fork() system call initiated by the user?
Where can I find the libc implementation for fork()? I want the code of all the functions involved in fork.
There are a couple of libc implemetations out there, say musl, dietlibc, uClibc and so on. But If you mean GNU libc aka. glibc then this is what you are looking for: https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/nptl/fork.c;h=1a68c... __libc_fork() calls clone() syscall internally using a bit of assembler magic.