[glib] gmain: Only run through signal delivery once per read()



commit 211d7adf6e452c30dc0b76225e7bdcddee7c5f8f
Author: Colin Walters <walters verbum org>
Date:   Wed Jun 8 11:31:14 2011 -0400

    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 files 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 ();
     }
 }
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]