summaryrefslogtreecommitdiffstats
path: root/glib/dbus-gmain.c
diff options
context:
space:
mode:
authorAlexander Larsson <alexl@redhat.com>2003-02-26 15:52:25 +0000
committerAlexander Larsson <alexl@redhat.com>2003-02-26 15:52:25 +0000
commit89e6dfd29cfbdb92f15e8fb2bde76d94a4c5a7b3 (patch)
tree501540fab4797ab07a4f90e239ac6dabb5bec38d /glib/dbus-gmain.c
parent7265423411609c14ddb9e6643463b840afcaa09b (diff)
2003-02-26 Alexander Larsson <alexl@redhat.com>
* configure.in: Set DBUS_GLIB_THREADS_LIBS for apps using gthread-2.0 * dbus/dbus-connection.c: * dbus/dbus-connection.h: Fix _dbus_connection_acquire_io_path and _dbus_connection_acquire_dispatch. Add dbus_connection_set_wakeup_main_function and use it when queueing incoming and outgoing messages. * dbus/dbus-dataslot.c: Threadsafe usage of DBusDataSlotAllocator * dbus/dbus-message.c: (dbus_message_get_args_iter): dbus_new can fail. * dbus/dbus-server-unix.c: Add todo comment * glib/dbus-gmain.c: Implement the new wakeup functions for glib. * glib/Makefile.am: * glib/test-thread-client.c: * glib/test-thread-server.c: * glib/test-thread.h: Initial cut at some thread test code. Not really done yet.
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);