summaryrefslogtreecommitdiff
path: root/bus/bus.c
diff options
context:
space:
mode:
authorColin Walters <walters@verbum.org>2010-01-28 17:09:15 -0500
committerColin Walters <walters@verbum.org>2010-01-28 17:09:15 -0500
commit7a4cd46284dd634c165b5c4eb23606b7c0ff4ade (patch)
treebf0390d7c05896f538e8c6739108bb3d681f8ef7 /bus/bus.c
parent1e82db47431fb19b78f8943c17d63227156e2432 (diff)
parentb93476ce07acce83ff3b396616bb8a0eaf719916 (diff)
downloaddbus-7a4cd46284dd634c165b5c4eb23606b7c0ff4ade.tar.gz
Merge branch 'my-dbus-1.2'
Conflicts: bus/Makefile.am dbus/dbus-sysdeps-util-unix.c dbus/dbus-transport.c test/test-service.c
Diffstat (limited to 'bus/bus.c')
-rw-r--r--bus/bus.c23
1 files changed, 14 insertions, 9 deletions
diff --git a/bus/bus.c b/bus/bus.c
index f6ff1803..0bb9ffa4 100644
--- a/bus/bus.c
+++ b/bus/bus.c
@@ -444,6 +444,8 @@ process_config_every_time (BusContext *context,
/* get our limits and timeout lengths */
bus_config_parser_get_limits (parser, &context->limits);
+ if (context->policy)
+ bus_policy_unref (context->policy);
context->policy = bus_config_parser_steal_policy (parser);
_dbus_assert (context->policy != NULL);
@@ -507,21 +509,24 @@ process_config_every_time (BusContext *context,
dbus_free(context->servicehelper);
context->servicehelper = s;
}
-
+
/* Create activation subsystem */
- new_activation = bus_activation_new (context, &full_address,
- dirs, error);
- if (new_activation == NULL)
+ if (context->activation)
+ {
+ if (!bus_activation_reload (context->activation, &full_address, dirs, error))
+ goto failed;
+ }
+ else
+ {
+ context->activation = bus_activation_new (context, &full_address, dirs, error);
+ }
+
+ if (context->activation == NULL)
{
_DBUS_ASSERT_ERROR_IS_SET (error);
goto failed;
}
- if (is_reload)
- bus_activation_unref (context->activation);
-
- context->activation = new_activation;
-
/* Drop existing conf-dir watches (if applicable) */
if (is_reload)