From 211d7adf6e452c30dc0b76225e7bdcddee7c5f8f Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Wed, 8 Jun 2011 11:31:14 -0400 Subject: [PATCH] gmain: Only run through signal delivery once per read() This is what I intended to do before. https://bugzilla.gnome.org/show_bug.cgi?id=652072 --- glib/gmain.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/glib/gmain.c b/glib/gmain.c index c95c42c..c84d7b9 100644 --- a/glib/gmain.c +++ b/glib/gmain.c @@ -4628,14 +4628,16 @@ unix_signal_helper_thread (gpointer data) g_warning ("Invalid char '%c' read from child watch pipe", b[i]); break; } - if (sigterm_received) - deliver_unix_signal (SIGTERM); - if (sigint_received) - deliver_unix_signal (SIGINT); - if (sighup_received) - deliver_unix_signal (SIGHUP); - _g_main_wake_up_all_contexts (); } + if (sigterm_received) + deliver_unix_signal (SIGTERM); + if (sigint_received) + deliver_unix_signal (SIGINT); + if (sighup_received) + deliver_unix_signal (SIGHUP); + if (sigchld_received) + deliver_sigchld (); + _g_main_wake_up_all_contexts (); } } -- 2.7.4