diff options
author | chris <chris> | 2006-09-19 11:27:30 +0000 |
---|---|---|
committer | chris <chris> | 2006-09-19 11:27:30 +0000 |
commit | adf632f9b1476f4d8bdffe8cfb85d5e88685ff48 (patch) | |
tree | 04fdb736ad27a237909457fc7966cdeedacc1a31 | |
parent | 45d1814b50cc5956c3ab44588b99e6c68587849d (diff) |
Further notes on the SIGCHLD handling.
-rw-r--r-- | pnmtilesplit/pnmtilesplit.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/pnmtilesplit/pnmtilesplit.c b/pnmtilesplit/pnmtilesplit.c index ddb377acd..ed1ac5dd8 100644 --- a/pnmtilesplit/pnmtilesplit.c +++ b/pnmtilesplit/pnmtilesplit.c @@ -7,7 +7,7 @@ * */ -static const char rcsid[] = "$Id: pnmtilesplit.c,v 1.9 2006-09-19 11:24:42 chris Exp $"; +static const char rcsid[] = "$Id: pnmtilesplit.c,v 1.10 2006-09-19 11:27:30 chris Exp $"; #include <sys/types.h> @@ -331,7 +331,11 @@ int main(int argc, char *argv[]) { /* XXX I think there is a bug here, since if you close fd i, then * wait for child process i, the wait hangs. But I can't see the - * problem at the moment. */ + * problem at the moment. Actually calling wait synchronously here + * is bogus anyway, since we could collect the notification when we + * receive SIGCHLD, though that would risk spawning a vast number + * of processes; at the moment we maintain as many child processes + * as there are columns of tiles in the output. */ if (pipe_via) { debug("waiting for termination of child processes\n"); for (i = 0; i < cols; ++i) { |