Commit 5dc56030 authored by Rémi Denis-Courmont's avatar Rémi Denis-Courmont

Restore correct SIGCHLD handling

This affects way too many code paths. Let KDE fix their own crap.
parent 2bc307db
...@@ -157,12 +157,11 @@ int main( int i_argc, const char *ppsz_argv[] ) ...@@ -157,12 +157,11 @@ int main( int i_argc, const char *ppsz_argv[] )
sigaddset (&set, SIGPIPE); sigaddset (&set, SIGPIPE);
/* SIGCHLD must be dequeued to clean up zombie child processes. /* SIGCHLD must be dequeued to clean up zombie child processes.
* Furthermore the handler must not be set to SIG_IGN (see above). */ * Furthermore the handler must not be set to SIG_IGN (see above).
/* Unfortunately, the QProcess class from Qt4 has a bug. It installs a * We cannot pragmatically handle EINTR, short reads and short writes
* custom signal handlers and gets stuck if it is not called. So we cannot * in every code paths (including underlying libraries). So we just
* use sigwait() for SIGCHLD: * block SIGCHLD in all threads, and dequeue it with sigwait() below. */
* http://bugs.kde.org/show_bug.cgi?id=260719 */ sigaddset (&set, SIGCHLD);
//sigaddset (&set, SIGCHLD);
#ifdef HAVE_MAEMO #ifdef HAVE_MAEMO
sigaddset (&set, SIGRTMIN); sigaddset (&set, SIGRTMIN);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment