summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorColin Walters <walters@space-ghost.verbum.private>2008-03-26 10:28:40 -0400
committerColin Walters <walters@space-ghost.verbum.private>2008-03-26 10:28:40 -0400
commit52ea0f2cbbf30d7652c38ae5ec89e663ea780b5e (patch)
tree570875a4cf4b96204ab18b4500f976fb1d9928b6
parentd25151483fe0143354dc188e888a0f2d740df2da (diff)
Set default exit_on_disconnect after registration
2008-03-26 Colin Walters <walters@verbum.org> Patch from Scott James Remnant <scott@netsplit.com> * dbus/dbus-bus.c: Set default exit_on_disconnect after registration with the bus, not before. This ensures that programs which wish to set exit_on_disconnect to FALSE will not be terminated if the bus exits during registration. (FDO Bug #15112)
-rw-r--r--ChangeLog9
-rw-r--r--dbus/dbus-bus.c12
2 files changed, 15 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index 96cecd01..5503219a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2008-03-26 Colin Walters <walters@verbum.org>
+
+ Patch from Scott James Remnant <scott@netsplit.com>
+
+ * dbus/dbus-bus.c: Set default exit_on_disconnect after registration with
+ the bus, not before. This ensures that programs which wish to set
+ exit_on_disconnect to FALSE will not be terminated if the bus exits
+ during registration. (FDO Bug #15112)
+
2008-03-04 John (J5) Palmieri <johnp@redhat.com>
* fix broken poll on Mac OSX - build patch by Benjamin Reed
diff --git a/dbus/dbus-bus.c b/dbus/dbus-bus.c
index c7f43e8c..e159dae7 100644
--- a/dbus/dbus-bus.c
+++ b/dbus/dbus-bus.c
@@ -436,12 +436,6 @@ internal_bus_get (DBusBusType type,
return NULL;
}
- /* By default we're bound to the lifecycle of
- * the message bus.
- */
- dbus_connection_set_exit_on_disconnect (connection,
- TRUE);
-
if (!dbus_bus_register (connection, error))
{
_DBUS_ASSERT_ERROR_IS_SET (error);
@@ -461,6 +455,12 @@ internal_bus_get (DBusBusType type,
bus_connections[type] = connection;
}
+ /* By default we're bound to the lifecycle of
+ * the message bus.
+ */
+ dbus_connection_set_exit_on_disconnect (connection,
+ TRUE);
+
_DBUS_LOCK (bus_datas);
bd = ensure_bus_data (connection);
_dbus_assert (bd != NULL); /* it should have been created on