reaper
deadline = reaper();
(void) reaper(); /* remove expired keys */
reap_kill_children(struct thread *td, struct proc *reaper,
LIST_FOREACH(p2, &reaper->p_children, p_sibling) {
reap_kill_subtree_once(struct thread *td, struct proc *p, struct proc *reaper,
reap_kill_sched(&tracker, reaper);
if (t->parent == reaper &&
reap_kill_subtree(struct thread *td, struct proc *p, struct proc *reaper,
while (reap_kill_subtree_once(td, p, reaper, &pids, w))
struct proc *reaper;
reaper = (p->p_treeflag & P_TREE_REAPER) == 0 ? p->p_reaper : p;
reap_kill_children(td, reaper, rk, &ksi, &error);
reap_kill_subtree(td, p, reaper, &w);
extern void reaper(int);
(void) signal(SIGCHLD, (SIG_PF) reaper);
(void) signal(SIGTERM, (SIG_PF) reaper);
(void) signal(SIGINT, (SIG_PF) reaper);
(void) signal(SIGHUP, (SIG_PF) reaper);
(void) signal(SIGCHLD, (SIG_PF) reaper);
(void) signal(SIGTERM, (SIG_PF) reaper);
(void) signal(SIGINT, (SIG_PF) reaper);
(void) signal(SIGHUP, (SIG_PF) reaper);
signal(SIGCHLD, reaper);
void reaper(int);
(void) signal(SIGCHLD, (SIG_PF) reaper);
(void) signal(SIGTERM, (SIG_PF) reaper);
(void) signal(SIGINT, (SIG_PF) reaper);
(void) signal(SIGHUP, (SIG_PF) reaper);