summaryrefslogtreecommitdiff
path: root/glib/test-thread-server.c
diff options
context:
space:
mode:
Diffstat (limited to 'glib/test-thread-server.c')
-rw-r--r--glib/test-thread-server.c27
1 files changed, 14 insertions, 13 deletions
diff --git a/glib/test-thread-server.c b/glib/test-thread-server.c
index 00044a79..4cc886fd 100644
--- a/glib/test-thread-server.c
+++ b/glib/test-thread-server.c
@@ -42,6 +42,9 @@ handle_test_message (DBusMessageHandler *handler,
char *str, *expected_str;
GString *counter_str;
int i;
+
+ if (!dbus_message_has_name (message, "org.freedesktop.ThreadTest"))
+ return DBUS_HANDLER_RESULT_ALLOW_MORE_HANDLERS;
dbus_message_iter_init (message, &iter);
@@ -124,7 +127,7 @@ handle_test_message (DBusMessageHandler *handler,
g_string_free (counter_str, TRUE);
out:
- return DBUS_HANDLER_RESULT_ALLOW_MORE_HANDLERS;
+ return DBUS_HANDLER_RESULT_REMOVE_MESSAGE;
}
static DBusHandlerResult
@@ -132,7 +135,7 @@ handle_filter (DBusMessageHandler *handler,
DBusConnection *connection,
DBusMessage *message,
void *user_data)
-{
+{
return DBUS_HANDLER_RESULT_ALLOW_MORE_HANDLERS;
}
@@ -142,20 +145,20 @@ handle_disconnect (DBusMessageHandler *handler,
DBusMessage *message,
void *user_data)
{
+ if (!dbus_message_has_name (message, DBUS_MESSAGE_LOCAL_DISCONNECT))
+ return DBUS_HANDLER_RESULT_ALLOW_MORE_HANDLERS;
+
g_print ("connection disconnected\n");
dbus_connection_unref (connection);
-
- return DBUS_HANDLER_RESULT_ALLOW_MORE_HANDLERS;
+
+ return DBUS_HANDLER_RESULT_REMOVE_MESSAGE;
}
-
static void
new_connection_callback (DBusServer *server,
DBusConnection *new_connection,
void *user_data)
{
- const char *test_messages[] = { "org.freedesktop.ThreadTest" };
- const char *disconnect_messages[] = { "org.freedesktop.Local.Disconnect" };
DBusMessageHandler *test_message_handler;
ThreadTestData * data;
@@ -170,9 +173,8 @@ new_connection_callback (DBusServer *server,
dbus_message_handler_new (handle_test_message,
data, (DBusFreeFunction)thread_test_data_free);
- if (!dbus_connection_register_handler (new_connection,
- test_message_handler,
- test_messages, 1))
+ if (!dbus_connection_add_filter (new_connection,
+ test_message_handler))
goto nomem;
if (!dbus_connection_set_data (new_connection,
@@ -181,9 +183,8 @@ new_connection_callback (DBusServer *server,
(DBusFreeFunction)dbus_message_handler_unref))
goto nomem;
- if (!dbus_connection_register_handler (new_connection,
- disconnect_handler,
- disconnect_messages, 1))
+ if (!dbus_connection_add_filter (new_connection,
+ disconnect_handler))
goto nomem;
if (!dbus_connection_add_filter (new_connection,