From 6cf6f82faae928a9142d4aa465b5add381960e29 Mon Sep 17 00:00:00 2001 From: Anders Carlsson Date: Sun, 16 Feb 2003 21:50:32 +0000 Subject: 2003-02-16 Anders Carlsson * bus/dispatch.c: (send_one_message): Only send broadcast messages to registered connections. * dbus/dbus-message.c: (dbus_message_name_is): * dbus/dbus-message.h: New convenience function. * dbus/dbus-transport-debug.c: (do_reading): Only dispatch one message per run. * test/Makefile.am: * test/bus-test.c: (new_connection_callback), (die), (test_hello_client1_handler), (test_hello_client2_handler), (test_hello_replies), (main): * test/bus-test-loop.[ch]: Add these. --- dbus/dbus-transport-debug.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'dbus/dbus-transport-debug.c') diff --git a/dbus/dbus-transport-debug.c b/dbus/dbus-transport-debug.c index f829fc29..e0a90644 100644 --- a/dbus/dbus-transport-debug.c +++ b/dbus/dbus-transport-debug.c @@ -76,11 +76,24 @@ debug_finalize (DBusTransport *transport) static void do_reading (DBusTransport *transport) { + DBusTransportDebug *debug_transport = (DBusTransportDebug*) transport; + if (transport->disconnected) return; /* Now dispatch the messages */ - while (dbus_connection_dispatch_message (transport->connection)); + if (dbus_connection_dispatch_message (transport->connection)) + { + debug_transport->read_timeout = + _dbus_timeout_new (DEFAULT_INTERVAL, (DBusTimeoutHandler)do_reading, + transport, NULL); + if (!_dbus_connection_add_timeout (transport->connection, + debug_transport->read_timeout)) + { + _dbus_timeout_unref (debug_transport->read_timeout); + debug_transport->read_timeout = NULL; + } + } } static void -- cgit