------- Comment #5 from daney at gcc dot gnu dot org 2006-10-05 17:02 ------- Another idea:
In the SIGCHLD signal handler record the pid of the process that exited. Then look it up in the pidToProcess map. If it belongs to the libgcj runtime, then do waitpid(pid, ...) on it. Otherwise ignore it assuming it belongs to code external to libgcj. It would be nice if we could call into libgcj from the signal handler, but I don't think that we can. :( You could get even fancier and chain the SIGCHLD signal handler to any handler that may have been previously installed. We would expect the same of external code that installed a SIGCHLD handler. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29324