8
# include <sys/types.h>
11
# include <sys/wait.h>
21
* Wait for all children to finish and return appropriate status
25
int WaitAll(long nchild)
27
int status, pid, child, stat=0, lo, hi;
29
for (child=0; child<nchild; child++) {
32
(void) printf("Child finished pid=%d, status=0x%x\n",pid, status);
33
(void) fflush(stdout);
36
(void) fprintf(stderr,"WaitAll: No children or error in wait?\n");
41
(void) fprintf(stderr, "WaitAll: Child (%d) finished, status=0x%x ",
45
hi = (status >> 8) & 0xff;
48
(void) fprintf(stderr, "(stopped by signal %d).\n", hi);
49
else if ( (lo != 0) && (lo & 0200) )
50
(void) fprintf(stderr, "(killed by signal %d, dumped core).\n",
53
(void) fprintf(stderr, "(killed by signal %d).\n",lo);
55
(void) fprintf(stderr, "(exited with code %d).\n",hi);
57
(void) fflush(stderr);