clone (Linux system call)
From Wikipedia, the free encyclopedia
clone()
is a system call on the Linux kernel related to multithreading.
The syntax for calling clone
under a Linux program is:
#include <sched.h> int clone (int (*fn) (void *), void *child_stack, int flags, void *arg);
clone
creates a new thread that starts with the function pointed to by the fn
argument (as opposed to fork() which continues with the next command after fork().) The child_stack
argument is a pointer to a memory space to be used as the stack for the new thread (which must be malloc'ed before that; on most architectures stack grows down, so the pointer should point at the end of the space), flags
specify what gets inherited from the parent process, and arg
is the argument passed to the function. It returns the process ID of the child process or -1 on failure.
|