The HAL driver returns a fatal error code in the case where HAL
is not running. This causes the entire libvirtd daemon to quit
which isn't desirable. Instead it should simply disable the HAL
driver
* src/node_device/node_device_hal.c: Quietly disable HAL if it is
not running
DBusError err;
char **udi = NULL;
int num_devs, i;
+ int ret = -1;
/* Ensure caps_tbl is sorted by capability name */
qsort(caps_tbl, ARRAY_CARDINALITY(caps_tbl), sizeof(caps_tbl[0]),
goto failure;
}
if (!libhal_ctx_init(hal_ctx, &err)) {
- VIR_ERROR0("libhal_ctx_init failed\n");
+ VIR_ERROR0("libhal_ctx_init failed, haldaemon is probably not running\n");
+ /* We don't want to show a fatal error here,
+ otherwise entire libvirtd shuts down when
+ hald isn't running */
+ ret = 0;
goto failure;
}
nodeDeviceUnlock(driverState);
VIR_FREE(driverState);
- return -1;
+ return ret;
}