Hi,
Recently we noticed that GSubprocess breaks the SIGCHLD handler in QProcess [1]. Glib hijacks this handler for the entire process, without "chain handling" the old (overwritten) handler. It seems that the faulty code is in gmain.c::ref_unix_signal_handler_unlocked:
sigaction (signum, &action, NULL);
action.sa_handler = SIG_DFL;
I am not aware of any way on how to workaround this from code using Glib, so it seems that this would need to be addressed in Glib itself. What do you think?
|