summaryrefslogtreecommitdiffstats
path: root/glib/dbus-gmain.c
diff options
context:
space:
mode:
Diffstat (limited to 'glib/dbus-gmain.c')
-rw-r--r--glib/dbus-gmain.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/glib/dbus-gmain.c b/glib/dbus-gmain.c
index 2638d54b..40523738 100644
--- a/glib/dbus-gmain.c
+++ b/glib/dbus-gmain.c
@@ -314,6 +314,13 @@ free_source (GSource *source)
g_source_destroy (source);
}
+static void
+wakeup_main (void *data)
+{
+ g_main_context_wakeup (NULL);
+}
+
+
/** @} */ /* End of GLib bindings internals */
/** @addtogroup DBusGLib
@@ -359,6 +366,10 @@ dbus_connection_setup_with_g_main (DBusConnection *connection)
remove_timeout,
NULL, NULL);
+ dbus_connection_set_wakeup_main_function (connection,
+ wakeup_main,
+ NULL, NULL);
+
g_source_attach (source, NULL);
g_static_mutex_lock (&connection_slot_lock);
@@ -401,7 +412,7 @@ dbus_server_setup_with_g_main (DBusServer *server)
add_timeout,
remove_timeout,
NULL, NULL);
-
+
g_source_attach (source, NULL);
g_static_mutex_lock (&server_slot_lock);