sigaddset (&set, SIGPIPE);
/* SIGCHLD must be dequeued to clean up zombie child processes.
- * Furthermore the handler must not be set to SIG_IGN (see above). */
- /* Unfortunately, the QProcess class from Qt4 has a bug. It installs a
- * custom signal handlers and gets stuck if it is not called. So we cannot
- * use sigwait() for SIGCHLD:
- * http://bugs.kde.org/show_bug.cgi?id=260719 */
- //sigaddset (&set, SIGCHLD);
+ * Furthermore the handler must not be set to SIG_IGN (see above).
+ * We cannot pragmatically handle EINTR, short reads and short writes
+ * in every code paths (including underlying libraries). So we just
+ * block SIGCHLD in all threads, and dequeue it with sigwait() below. */
+ sigaddset (&set, SIGCHLD);
#ifdef HAVE_MAEMO
sigaddset (&set, SIGRTMIN);