X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fdbus.c;h=d7b80ba01d17c9bbe8d31ad368b179784c349f11;hp=48051f25fb76f79ebfa93def6153f371d0f346c7;hb=3996fbe2a2a212d9ac983950602cc09db55d77ef;hpb=867b3b7d6b88ba4d07ec7c830576d4ac2f7dd226 diff --git a/src/dbus.c b/src/dbus.c index 48051f25f..d7b80ba01 100644 --- a/src/dbus.c +++ b/src/dbus.c @@ -982,7 +982,7 @@ fail: return r; } -int bus_init(Manager *m) { +int bus_init(Manager *m, bool try_bus_connect) { int r; if (set_ensure_allocated(&m->bus_connections, trivial_hash_func, trivial_compare_func) < 0 || @@ -1003,9 +1003,13 @@ int bus_init(Manager *m) { return -ENOMEM; } - if ((r = bus_init_system(m)) < 0 || - (r = bus_init_api(m)) < 0 || - (r = bus_init_private(m)) < 0) + if (try_bus_connect) { + if ((r = bus_init_system(m)) < 0 || + (r = bus_init_api(m)) < 0) + return r; + } + + if ((r = bus_init_private(m)) < 0) return r; return 0;