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) {
struct proc *p2, *reaper, *old_reaper;
reaper = *reaperp;
reap_kill_sched(&tracker, reaper);
if (t->parent == reaper &&
old_reaper = reaper;
reaper = get_reaper_or_p(p);
if (old_reaper != reaper) {
*reaperp = reaper;
PROC_TREE_REF(reaper);
reap_kill_sched(&tracker, reaper);
struct proc *reaper;
reaper = get_reaper_or_p(p);
reap_kill_children(td, reaper, rk, &ksi, &error);
PROC_TREE_REF(reaper);
reap_kill_subtree(td, p, &reaper, &w);
PROC_TREE_UNREF(reaper);
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);