chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
dbus: don't try to connect to the system bus before it is actually up
[elogind.git]
/
src
/
dbus.c
diff --git
a/src/dbus.c
b/src/dbus.c
index 48051f25fb76f79ebfa93def6153f371d0f346c7..d7b80ba01d17c9bbe8d31ad368b179784c349f11 100644
(file)
--- a/
src/dbus.c
+++ b/
src/dbus.c
@@
-982,7
+982,7
@@
fail:
return r;
}
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 ||
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;
}
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;
return r;
return 0;