Wait for task_stopped or task_traced
int wait_task_stopped(struct wait_opts * wo, int ptrace, struct task_struct * p);
wo
wait options
ptrace
is the wait for ptrace
p
task to wait for
Handle sys_wait4 work for p in state TASK_STOPPED or TASK_TRACED.
read_lock(tasklist_lock), which is released if return value is non-zero. Also, grabs and releases p->sighand->siglock.
0 if wait condition didn't exist and search for other wait conditions should continue. Non-zero return, -errno on failure and p's pid on success, implies that tasklist_lock is released and wait condition search should terminate.