gmain: Add private API to create Unix child watch that uses waitid()
This avoids collecting the zombie child, which means that the PID can't be reused. This prevents possible race conditions that might occur were one to send e.g. SIGTERM to a child. This race condition has always existed due to the way we called waitpid() for the app, but the window was widened when we moved the waitpid() calls into a separate thread. If waitid() isn't available, we return NULL, and consumers of this private API (namely, GSubprocess) will need to handle that. https://bugzilla.gnome.org/show_bug.cgi?id=672102
parent
e744a4aa
Please register or sign in to comment