X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fcore%2Fdbus.c;h=260775cd85eedd0a40debd909933b4cec7d813c8;hb=b57b06258e0b1894edb6d1fc52a80b3c33164892;hp=925fac96b4b4c138b2788a3279c1aaf2c92d8ee4;hpb=56f64d95763a799ba4475daf44d8e9f72a1bd474;p=elogind.git diff --git a/src/core/dbus.c b/src/core/dbus.c index 925fac96b..260775cd8 100644 --- a/src/core/dbus.c +++ b/src/core/dbus.c @@ -39,7 +39,7 @@ #include "dbus.h" #include "bus-util.h" #include "bus-error.h" -#include "bus-errors.h" +#include "bus-common-errors.h" #include "strxcpyx.h" #include "bus-internal.h" #include "selinux-access.h" @@ -958,22 +958,16 @@ static int bus_init_private(Manager *m) { (void) unlink(sa.un.sun_path); fd = socket(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0); - if (fd < 0) { - log_error_errno(errno, "Failed to allocate private socket: %m"); - return -errno; - } + if (fd < 0) + return log_error_errno(errno, "Failed to allocate private socket: %m"); r = bind(fd, &sa.sa, salen); - if (r < 0) { - log_error_errno(errno, "Failed to bind private socket: %m"); - return -errno; - } + if (r < 0) + return log_error_errno(errno, "Failed to bind private socket: %m"); r = listen(fd, SOMAXCONN); - if (r < 0) { - log_error_errno(errno, "Failed to make private socket listening: %m"); - return -errno; - } + if (r < 0) + return log_error_errno(errno, "Failed to make private socket listening: %m"); r = sd_event_add_io(m->event, &s, fd, EPOLLIN, bus_on_connection, m); if (r < 0) @@ -1150,15 +1144,20 @@ void bus_track_serialize(sd_bus_track *t, FILE *f) { int bus_track_deserialize_item(char ***l, const char *line) { const char *e; + int r; assert(l); assert(line); e = startswith(line, "subscribed="); if (!e) - return -EINVAL; + return 0; + + r = strv_extend(l, e); + if (r < 0) + return r; - return strv_extend(l, e); + return 1; } int bus_track_coldplug(Manager *m, sd_bus_track **t, char ***l) {