chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
systemctl: shutdown agent explicitly so that it can reset the tty properly
[elogind.git]
/
src
/
dbus.c
diff --git
a/src/dbus.c
b/src/dbus.c
index 48051f25fb76f79ebfa93def6153f371d0f346c7..64988c7ccc5831e52e12b4364c7119db81520fe1 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;
@@
-1357,6
+1361,7
@@
static const char *error_to_dbus(int error) {
return DBUS_ERROR_FILE_EXISTS;
case -ETIMEDOUT:
return DBUS_ERROR_FILE_EXISTS;
case -ETIMEDOUT:
+ case -ETIME:
return DBUS_ERROR_TIMEOUT;
case -EIO:
return DBUS_ERROR_TIMEOUT;
case -EIO: