提交 a3ce3b1c 编写于 作者: D Daniel Veillard

* qemud/qemud.c src/node_device_hal.c: activate DBus multithreading

  to avoid random crashes in the daemon, patch by Daniel Berrange
Daniel
上级 14dfe939
Mon Mar 2 12:12:11 CET 2009 Daniel Veillard <veillard@redhat.com>
* qemud/qemud.c src/node_device_hal.c: activate DBus multithreading
to avoid random crashes in the daemon, patch by Daniel Berrange
Mon Mar 2 10:16:04 +0100 2009 Jim Meyering <meyering@redhat.com>
correct a typo in a diagnostic
......
......@@ -911,6 +911,10 @@ static struct qemud_server *qemudNetworkInit(struct qemud_server *server) {
if (auth_unix_rw == REMOTE_AUTH_POLKIT ||
auth_unix_ro == REMOTE_AUTH_POLKIT) {
DBusError derr;
dbus_connection_set_change_sigpipe(FALSE);
dbus_threads_init_default();
dbus_error_init(&derr);
server->sysbus = dbus_bus_get(DBUS_BUS_SYSTEM, &derr);
if (!(server->sysbus)) {
......@@ -919,6 +923,7 @@ static struct qemud_server *qemudNetworkInit(struct qemud_server *server) {
dbus_error_free(&derr);
goto cleanup;
}
dbus_connection_set_exit_on_disconnect(server->sysbus, FALSE);
}
#endif
......
......@@ -685,6 +685,9 @@ static int halDeviceMonitorStartup(void)
nodeDeviceLock(driverState);
/* Allocate and initialize a new HAL context */
dbus_connection_set_change_sigpipe(FALSE);
dbus_threads_init_default();
dbus_error_init(&err);
hal_ctx = libhal_ctx_new();
if (hal_ctx == NULL) {
......@@ -696,6 +699,8 @@ static int halDeviceMonitorStartup(void)
fprintf(stderr, "%s: dbus_bus_get failed\n", __FUNCTION__);
goto failure;
}
dbus_connection_set_exit_on_disconnect(dbus_conn, FALSE);
if (!libhal_ctx_set_dbus_connection(hal_ctx, dbus_conn)) {
fprintf(stderr, "%s: libhal_ctx_set_dbus_connection failed\n",
__FUNCTION__);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册