113921Sedward #ifndef lint 2*14407Sedward static char *sccsid = "@(#)wwchild.c 2.1.1.1 83/08/09"; 313921Sedward #endif 413921Sedward 513921Sedward #include "ww.h" 613921Sedward #include <sys/wait.h> 713921Sedward 813921Sedward wwchild() 913921Sedward { 10*14407Sedward register struct ww **wp; 1113921Sedward union wait w; 1213921Sedward int pid; 1313921Sedward 14*14407Sedward while ((pid = wait3(&w, WNOHANG|WUNTRACED, (struct rusage *)0)) > 0) { 15*14407Sedward for (wp = wwindex; wp < &wwindex[NWW]; wp++) { 16*14407Sedward if (*wp && (*wp)->ww_state == WWS_HASPROC 17*14407Sedward && (*wp)->ww_pid == pid) { 18*14407Sedward (*wp)->ww_state = WWS_DEAD; 1913970Sedward /* 20*14407Sedward (void) wwprintf(curwin, 2113962Sedward "\r\n%d: Died\r\n", pid); 2213970Sedward */ 2313921Sedward break; 2413921Sedward } 2513921Sedward } 2613970Sedward /* 27*14407Sedward if (wp >= &wwindex[NWW]) 28*14407Sedward (void) wwprintf(curwin, "\r\n%d: No such child\r\n", pid); 2913970Sedward */ 3013921Sedward } 3113921Sedward } 32