Lines Matching refs:p2

171 	struct proc *reap, *p2, *first_p;  in reap_status()  local
192 LIST_FOREACH(p2, &reap->p_reaplist, p_reapsibling) { in reap_status()
193 if (proc_realparent(p2) == reap) in reap_status()
206 struct proc *reap, *p2; in reap_getpids() local
218 LIST_FOREACH(p2, &reap->p_reaplist, p_reapsibling) in reap_getpids()
225 LIST_FOREACH(p2, &reap->p_reaplist, p_reapsibling) { in reap_getpids()
230 pip->pi_pid = p2->p_pid; in reap_getpids()
231 pip->pi_subtree = p2->p_reapsubtree; in reap_getpids()
233 if (proc_realparent(p2) == reap) in reap_getpids()
235 if ((p2->p_treeflag & P_TREE_REAPER) != 0) in reap_getpids()
237 if ((p2->p_flag & P_STOPPED) != 0) in reap_getpids()
239 if (p2->p_state == PRS_ZOMBIE) in reap_getpids()
241 else if ((p2->p_flag & P_WEXIT) != 0) in reap_getpids()
331 reap_kill_sched(struct reap_kill_tracker_head *tracker, struct proc *p2) in reap_kill_sched() argument
335 PROC_LOCK(p2); in reap_kill_sched()
336 if ((p2->p_flag2 & P2_WEXIT) != 0) { in reap_kill_sched()
337 PROC_UNLOCK(p2); in reap_kill_sched()
340 _PHOLD(p2); in reap_kill_sched()
341 PROC_UNLOCK(p2); in reap_kill_sched()
343 t->parent = p2; in reap_kill_sched()
358 struct proc *p2; in reap_kill_children() local
361 LIST_FOREACH(p2, &reaper->p_children, p_sibling) { in reap_kill_children()
362 PROC_LOCK(p2); in reap_kill_children()
363 if ((p2->p_flag2 & P2_WEXIT) == 0) { in reap_kill_children()
364 error1 = p_cansignal(td, p2, rk->rk_sig); in reap_kill_children()
367 rk->rk_fpid = p2->p_pid; in reap_kill_children()
376 (void)pksignal(p2, rk->rk_sig, ksi); in reap_kill_children()
380 PROC_UNLOCK(p2); in reap_kill_children()
390 struct proc *p2; in reap_kill_subtree_once() local
412 LIST_FOREACH(p2, &t->parent->p_reaplist, p_reapsibling) { in reap_kill_subtree_once()
415 p2->p_reapsubtree != w->rk->rk_subtree) in reap_kill_subtree_once()
417 if ((p2->p_treeflag & P_TREE_REAPER) != 0) in reap_kill_subtree_once()
418 reap_kill_sched(&tracker, p2); in reap_kill_subtree_once()
430 if (alloc_unr_specific(pids, p2->p_pid) != p2->p_pid && in reap_kill_subtree_once()
431 (atomic_load_int(&p2->p_flag2) & in reap_kill_subtree_once()
435 if (p2 == td->td_proc) { in reap_kill_subtree_once()
436 if ((p2->p_flag & P_HADTHREADS) != 0 && in reap_kill_subtree_once()
437 (p2->p_flag2 & P2_WEXIT) == 0) { in reap_kill_subtree_once()
444 PROC_LOCK(p2); in reap_kill_subtree_once()
449 p2->p_flag2 |= P2_REAPKILLED; in reap_kill_subtree_once()
451 r = thread_single(p2, SINGLE_NO_EXIT); in reap_kill_subtree_once()
452 (void)pksignal(p2, w->rk->rk_sig, w->ksi); in reap_kill_subtree_once()
455 thread_single_end(p2, SINGLE_NO_EXIT); in reap_kill_subtree_once()
456 PROC_UNLOCK(p2); in reap_kill_subtree_once()
464 PROC_LOCK(p2); in reap_kill_subtree_once()
465 if ((p2->p_flag2 & P2_WEXIT) == 0) { in reap_kill_subtree_once()
466 _PHOLD(p2); in reap_kill_subtree_once()
467 p2->p_flag2 |= P2_REAPKILLED; in reap_kill_subtree_once()
468 PROC_UNLOCK(p2); in reap_kill_subtree_once()
469 w->target = p2; in reap_kill_subtree_once()
477 PROC_LOCK(p2); in reap_kill_subtree_once()
478 _PRELE(p2); in reap_kill_subtree_once()
480 PROC_UNLOCK(p2); in reap_kill_subtree_once()
495 struct proc *p2; in reap_kill_subtree() local
515 p2 = pfind(pid); in reap_kill_subtree()
516 if (p2 != NULL) { in reap_kill_subtree()
517 p2->p_flag2 &= ~P2_REAPKILLED; in reap_kill_subtree()
518 PROC_UNLOCK(p2); in reap_kill_subtree()