Lines Matching defs:child
70 [SOURCE_CHILD] = "child",
141 } child;
838 if (s->child.pid > 0) {
844 (void) hashmap_remove(s->event->child_sources, PID_TO_PTR(s->child.pid));
1226 s->child.pid = pid;
1227 s->child.options = options;
1228 s->child.callback = callback;
1829 *pid = s->child.pid;
2109 P_ALL. This is because we only want to get child
2110 information of very specific child processes, and not all
2113 unbounded *per-child* event queue, hence we really don't
2133 zero(s->child.siginfo);
2134 r = waitid(P_PID, s->child.pid, &s->child.siginfo,
2135 WNOHANG | (s->child.options & WEXITED ? WNOWAIT : 0) | s->child.options);
2139 if (s->child.siginfo.si_pid != 0) {
2141 s->child.siginfo.si_code == CLD_EXITED ||
2142 s->child.siginfo.si_code == CLD_KILLED ||
2143 s->child.siginfo.si_code == CLD_DUMPED;
2145 if (!zombie && (s->child.options & WEXITED)) {
2146 /* If the child isn't dead then let's
2151 assert(s->child.options & (WSTOPPED|WCONTINUED));
2152 waitid(P_PID, s->child.pid, &s->child.siginfo, WNOHANG|(s->child.options & (WSTOPPED|WCONTINUED)));
2283 zombie = s->child.siginfo.si_code == CLD_EXITED ||
2284 s->child.siginfo.si_code == CLD_KILLED ||
2285 s->child.siginfo.si_code == CLD_DUMPED;
2287 r = s->child.callback(s, &s->child.siginfo, s->userdata);
2291 waitid(P_PID, s->child.pid, &s->child.siginfo, WNOHANG|WEXITED);