mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-07 17:28:15 +00:00
virgdbus: fix getting non-shared DBus connection
We need to pass some flags in order to properly initialize the connection otherwise it will not work. This copies what GLib does for g_bus_get_sync() internally. This fixes an issue with LXC driver where libvirt was not able to register any VM with machined. Reported-by: Matthias Maier <tamiko@gentoo.org> Signed-off-by: Pavel Hrdina <phrdina@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
parent
18c73a4c70
commit
43ee7c6db1
@ -54,11 +54,15 @@ virGDBusBusInit(GBusType type, GError **error)
|
||||
if (sharedBus) {
|
||||
return g_bus_get_sync(type, NULL, error);
|
||||
} else {
|
||||
GDBusConnectionFlags dbusFlags =
|
||||
G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_CLIENT |
|
||||
G_DBUS_CONNECTION_FLAGS_MESSAGE_BUS_CONNECTION;
|
||||
|
||||
address = g_dbus_address_get_for_bus_sync(type, NULL, error);
|
||||
if (*error)
|
||||
return NULL;
|
||||
return g_dbus_connection_new_for_address_sync(address,
|
||||
G_DBUS_CONNECTION_FLAGS_NONE,
|
||||
dbusFlags,
|
||||
NULL,
|
||||
NULL,
|
||||
error);
|
||||
|
Loading…
x
Reference in New Issue
Block a user