Link the newly created process to the corresponding parent as
if CLONE_PARENT is set, then the parent of the new process will be the same as that of the calling process. MFC after: 1 week
This commit is contained in:
@@ -222,6 +222,18 @@ linux_clone_proc(struct thread *td, struct linux_clone_args *args)
|
||||
if (args->flags & LINUX_CLONE_SETTLS)
|
||||
linux_set_cloned_tls(td2, args->tls);
|
||||
|
||||
/*
|
||||
* If CLONE_PARENT is set, then the parent of the new process will be
|
||||
* the same as that of the calling process.
|
||||
*/
|
||||
if (args->flags & LINUX_CLONE_PARENT) {
|
||||
sx_xlock(&proctree_lock);
|
||||
PROC_LOCK(p2);
|
||||
proc_reparent(p2, td->td_proc->p_pptr);
|
||||
PROC_UNLOCK(p2);
|
||||
sx_xunlock(&proctree_lock);
|
||||
}
|
||||
|
||||
#ifdef DEBUG
|
||||
if (ldebug(clone))
|
||||
printf(LMSG("clone: successful rfork to %d, "
|
||||
|
||||
Reference in New Issue
Block a user