Lines Matching refs:reaper
538 struct task_struct *reaper = pid_ns->child_reaper; in find_child_reaper() local
541 if (likely(reaper != father)) in find_child_reaper()
542 return reaper; in find_child_reaper()
544 reaper = find_alive_thread(father); in find_child_reaper()
545 if (reaper) { in find_child_reaper()
546 pid_ns->child_reaper = reaper; in find_child_reaper()
547 return reaper; in find_child_reaper()
573 struct task_struct *thread, *reaper; in find_new_reaper() local
589 for (reaper = father->real_parent; in find_new_reaper()
590 task_pid(reaper)->level == ns_level; in find_new_reaper()
591 reaper = reaper->real_parent) { in find_new_reaper()
592 if (reaper == &init_task) in find_new_reaper()
594 if (!reaper->signal->is_child_subreaper) in find_new_reaper()
596 thread = find_alive_thread(reaper); in find_new_reaper()
640 struct task_struct *p, *t, *reaper; in forget_original_parent() local
646 reaper = find_child_reaper(father, dead); in forget_original_parent()
650 reaper = find_new_reaper(father, reaper); in forget_original_parent()
653 RCU_INIT_POINTER(t->real_parent, reaper); in forget_original_parent()
666 if (!same_thread_group(reaper, father)) in forget_original_parent()
669 list_splice_tail_init(&father->children, &reaper->children); in forget_original_parent()