From fb07fab2c07e7b0834724541dc47bfba02ba8574 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Fri, 25 Jan 2008 13:45:22 +1030 Subject: [PATCH] config: only shutdown libhal if the connection is valid. Thanks to libdbus' extensive use of assert we won't just get an error, it'll bring the whole server down for us. --- config/hal.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/config/hal.c b/config/hal.c index 52a011333..1575422c3 100644 --- a/config/hal.c +++ b/config/hal.c @@ -283,12 +283,14 @@ disconnect_hook(void *data) struct config_hal_info *info = data; if (info->hal_ctx) { - dbus_error_init(&error); - if (!libhal_ctx_shutdown(info->hal_ctx, &error)) - DebugF("[config/hal] couldn't shut down context: %s (%s)\n", - error.name, error.message); + if (dbus_connection_get_is_connected(info->system_bus)) { + dbus_error_init(&error); + if (!libhal_ctx_shutdown(info->hal_ctx, &error)) + DebugF("[config/hal] couldn't shut down context: %s (%s)\n", + error.name, error.message); + dbus_error_free(&error); + } libhal_ctx_free(info->hal_ctx); - dbus_error_free(&error); } info->hal_ctx = NULL;