diff options
Diffstat (limited to 'glib/test-thread-server.c')
| -rw-r--r-- | glib/test-thread-server.c | 27 | 
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, | 
