113921Sedward #ifndef lint 2*18727Sedward static char sccsid[] = "@(#)wwchild.c 3.5 04/24/85"; 313921Sedward #endif 413921Sedward 5*18727Sedward /* 6*18727Sedward * Copyright (c) 1983 Regents of the University of California, 7*18727Sedward * All rights reserved. Redistribution permitted subject to 8*18727Sedward * the terms of the Berkeley Software License Agreement. 9*18727Sedward */ 10*18727Sedward 1113921Sedward #include "ww.h" 1213921Sedward #include <sys/wait.h> 1313921Sedward 1413921Sedward wwchild() 1513921Sedward { 1615630Sedward extern errno; 1715630Sedward int olderrno; 1814407Sedward register struct ww **wp; 1913921Sedward union wait w; 2013921Sedward int pid; 2113921Sedward 2215630Sedward olderrno = errno; 2314407Sedward while ((pid = wait3(&w, WNOHANG|WUNTRACED, (struct rusage *)0)) > 0) { 2414407Sedward for (wp = wwindex; wp < &wwindex[NWW]; wp++) { 2514407Sedward if (*wp && (*wp)->ww_state == WWS_HASPROC 2614407Sedward && (*wp)->ww_pid == pid) { 2714407Sedward (*wp)->ww_state = WWS_DEAD; 2813921Sedward break; 2913921Sedward } 3013921Sedward } 3113921Sedward } 3215630Sedward errno = olderrno; 3313921Sedward } 34