[glib] gmain: remove unix signal watch if its GSourceFunc returns FALSE



commit 242737822357c9a686df69bdb888b0d42caf1d5c
Author: Dan Winship <danw gnome org>
Date:   Thu Aug 23 12:38:17 2012 -0400

    gmain: remove unix signal watch if its GSourceFunc returns FALSE
    
    g_unix_signal_watch_dispatch() was ignore the callback's return value.
    Fix that.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=682560

 glib/gmain.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)
---
diff --git a/glib/gmain.c b/glib/gmain.c
index 0472bd5..c0c4581 100644
--- a/glib/gmain.c
+++ b/glib/gmain.c
@@ -4499,6 +4499,7 @@ g_unix_signal_watch_dispatch (GSource    *source,
 			      gpointer    user_data)
 {
   GUnixSignalWatchSource *unix_signal_source;
+  gboolean again;
 
   unix_signal_source = (GUnixSignalWatchSource *) source;
 
@@ -4509,11 +4510,11 @@ g_unix_signal_watch_dispatch (GSource    *source,
       return FALSE;
     }
 
-  (callback) (user_data);
+  again = (callback) (user_data);
 
   unix_signal_source->pending = FALSE;
 
-  return TRUE;
+  return again;
 }
 
 static void



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