Commit | Line | Data |
---|---|---|
49b6070e | 1 | #ifndef lint |
30647f51 | 2 | static char *sccsid = "@(#)wwchild.c 3.1 83/08/11"; |
49b6070e EW |
3 | #endif |
4 | ||
5 | #include "ww.h" | |
6 | #include <sys/wait.h> | |
7 | ||
8 | wwchild() | |
9 | { | |
bb05dfb5 | 10 | register struct ww **wp; |
49b6070e EW |
11 | union wait w; |
12 | int pid; | |
49b6070e | 13 | |
bb05dfb5 EW |
14 | while ((pid = wait3(&w, WNOHANG|WUNTRACED, (struct rusage *)0)) > 0) { |
15 | for (wp = wwindex; wp < &wwindex[NWW]; wp++) { | |
16 | if (*wp && (*wp)->ww_state == WWS_HASPROC | |
17 | && (*wp)->ww_pid == pid) { | |
18 | (*wp)->ww_state = WWS_DEAD; | |
2b44d852 | 19 | /* |
bb05dfb5 | 20 | (void) wwprintf(curwin, |
4711df8b | 21 | "\r\n%d: Died\r\n", pid); |
2b44d852 | 22 | */ |
49b6070e EW |
23 | break; |
24 | } | |
25 | } | |
2b44d852 | 26 | /* |
bb05dfb5 EW |
27 | if (wp >= &wwindex[NWW]) |
28 | (void) wwprintf(curwin, "\r\n%d: No such child\r\n", pid); | |
2b44d852 | 29 | */ |
49b6070e EW |
30 | } |
31 | } |