From 89e6dfd29cfbdb92f15e8fb2bde76d94a4c5a7b3 Mon Sep 17 00:00:00 2001 From: Alexander Larsson Date: Wed, 26 Feb 2003 15:52:25 +0000 Subject: 2003-02-26 Alexander Larsson * 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. --- glib/dbus-gmain.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'glib/dbus-gmain.c') 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); -- cgit