summaryrefslogtreecommitdiffstats
path: root/dbus/dbus-connection.c
diff options
context:
space:
mode:
Diffstat (limited to 'dbus/dbus-connection.c')
-rw-r--r--dbus/dbus-connection.c30
1 files changed, 12 insertions, 18 deletions
diff --git a/dbus/dbus-connection.c b/dbus/dbus-connection.c
index 4a2d087b..9f6e6260 100644
--- a/dbus/dbus-connection.c
+++ b/dbus/dbus-connection.c
@@ -1947,18 +1947,6 @@ dbus_connection_close (DBusConnection *connection)
_dbus_connection_update_dispatch_status_and_unlock (connection, status);
}
-/** Alias for dbus_connection_close(). This method is DEPRECATED and will be
- * removed for 1.0. Change your code to use dbus_connection_close() instead.
- *
- * @param connection the connection.
- * @deprecated
- */
-void
-dbus_connection_disconnect (DBusConnection *connection)
-{
- dbus_connection_close (connection);
-}
-
static dbus_bool_t
_dbus_connection_get_is_connected_unlocked (DBusConnection *connection)
{
@@ -3780,15 +3768,21 @@ dbus_connection_dispatch (DBusConnection *connection)
{
_dbus_verbose (" ... done dispatching in %s\n", _DBUS_FUNCTION_NAME);
- if (connection->exit_on_disconnect &&
- dbus_message_is_signal (message,
+ if (dbus_message_is_signal (message,
DBUS_INTERFACE_LOCAL,
"Disconnected"))
{
- _dbus_verbose ("Exiting on Disconnected signal\n");
- CONNECTION_UNLOCK (connection);
- _dbus_exit (1);
- _dbus_assert_not_reached ("Call to exit() returned");
+ int i;
+
+
+ _dbus_bus_check_connection_and_unref (connection);
+ if (connection->exit_on_disconnect)
+ {
+ _dbus_verbose ("Exiting on Disconnected signal\n");
+ CONNECTION_UNLOCK (connection);
+ _dbus_exit (1);
+ _dbus_assert_not_reached ("Call to exit() returned");
+ }
}
_dbus_list_free_link (message_link);