X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fcore%2Fpath.c;h=fbb695d87ff8283897a3f24c71b9f5e060facc71;hp=656ed6941d9037f7aa3acae08fc7740e6ad7da1d;hb=98f738b62047229af4a929d7996e2ab04253b02c;hpb=f7c1ad4fd4190bee32db0aa26c8e9fe7e19d8816 diff --git a/src/core/path.c b/src/core/path.c index 656ed6941..fbb695d87 100644 --- a/src/core/path.c +++ b/src/core/path.c @@ -21,7 +21,6 @@ #include #include -#include #include #include @@ -31,7 +30,6 @@ #include "mkdir.h" #include "dbus-path.h" #include "special.h" -#include "path-util.h" #include "macro.h" #include "bus-util.h" #include "bus-error.h" @@ -157,7 +155,7 @@ void path_spec_unwatch(PathSpec *s) { } int path_spec_fd_event(PathSpec *s, uint32_t revents) { - uint8_t buffer[INOTIFY_EVENT_MAX] _alignas_(struct inotify_event); + union inotify_event_buffer buffer; struct inotify_event *e; ssize_t l; int r = 0; @@ -167,7 +165,7 @@ int path_spec_fd_event(PathSpec *s, uint32_t revents) { return -EINVAL; } - l = read(s->inotify_fd, buffer, sizeof(buffer)); + l = read(s->inotify_fd, &buffer, sizeof(buffer)); if (l < 0) { if (errno == EAGAIN || errno == EINTR) return 0; @@ -572,7 +570,7 @@ static int path_start(Unit *u) { p->result = PATH_SUCCESS; path_enter_waiting(p, true, true); - return 0; + return 1; } static int path_stop(Unit *u) { @@ -582,7 +580,7 @@ static int path_stop(Unit *u) { assert(p->state == PATH_WAITING || p->state == PATH_RUNNING); path_enter_dead(p, PATH_SUCCESS); - return 0; + return 1; } static int path_serialize(Unit *u, FILE *f, FDSet *fds) {