Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Need to rethink dealing with the defunct process
Still not getting the return code from the libged facetize ged_tessellate call - if I'm following the man pages, it may be because we have multiple waitpid calls being made that are wiping out the state by the time we get to the end? However, if we remove this then bu_process_id can't recognize the defunct nature of the process and we end up timing out every time. Looking at how CMake's CTest manages subprocesses, I'm wondering if it might make sense to refactor a subset of their code into a more powerful subprocess management capability for libbu. What CTest does is essentially what we need to do here - launch multiple processes, monitor their return status and allow for timeouts. Looks like they are using a subset of libuv for some of what they need, so I'm beginning to think that trying to do this with our own bu_process implementation isn't the best approach. Initially I can confine the experiments to facetize itself, but if a working solution is found it should probably be promoted to a backend for libbu's process control API in lieu of our current implementation.
- Loading branch information