1*13921Sedward #ifndef lint 2*13921Sedward static char *sccsid = "@(#)wwchild.c 1.1 83/07/12"; 3*13921Sedward #endif 4*13921Sedward 5*13921Sedward #include "ww.h" 6*13921Sedward #include <sys/wait.h> 7*13921Sedward 8*13921Sedward wwchild() 9*13921Sedward { 10*13921Sedward register struct ww *wp; 11*13921Sedward union wait w; 12*13921Sedward int pid; 13*13921Sedward /* 14*13921Sedward char buf[100]; 15*13921Sedward */ 16*13921Sedward 17*13921Sedward while ((pid = wait3(&w, WNOHANG|WUNTRACED, 0)) > 0) { 18*13921Sedward for (wp = _wwhead; wp; wp = wp->ww_next) { 19*13921Sedward if (wp->ww_pid == pid) { 20*13921Sedward wp->ww_state = WW_DEAD; 21*13921Sedward /* 22*13921Sedward (void) sprintf(buf, "\r\n%d: Died\r\n", pid); 23*13921Sedward wwputstr(buf); 24*13921Sedward */ 25*13921Sedward break; 26*13921Sedward } 27*13921Sedward } 28*13921Sedward /* 29*13921Sedward if (wp == 0) { 30*13921Sedward (void) sprintf(buf, "\r\n%d: No such child\r\n", pid); 31*13921Sedward wwputstr(buf); 32*13921Sedward } 33*13921Sedward */ 34*13921Sedward } 35*13921Sedward } 36