| # | Line 396 | Line 396 | ray_pchild( /* process rays (never returns) */ | |
|---|---|---|
| 396 | { | |
| 397 | int n; | |
| 398 | register int i; | |
| 399 | + | /* flag child process for quit() */ |
| 400 | + | ray_pnprocs = -1; |
| 401 | /* read each ray request set */ | |
| 402 | while ((n = read(fd_in, (char *)r_queue, sizeof(r_queue))) > 0) { | |
| 403 | int n2; | |
| # | Line 519 | Line 521 | void | |
| 521 | quit(ec) /* make sure exit is called */ | |
| 522 | int ec; | |
| 523 | { | |
| 524 | + | if (ray_pnprocs > 0) /* close children if any */ |
| 525 | + | ray_pclose(0); |
| 526 | exit(ec); | |
| 527 | } | |
| – | Removed lines |
| + | Added lines |
| < | Changed lines (old) |
| > | Changed lines (new) |