X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Flogin%2Flogind-session-device.c;h=6c65607b9fd9fd0808140af50f793162446bf86f;hp=b2ef8ccc999e6f01925697af22b563878ee76c0b;hb=a5c28308446550e0966825472babdf123fc976ac;hpb=cc3773810855956bad92337cee8fa193584ab62e diff --git a/src/login/logind-session-device.c b/src/login/logind-session-device.c index b2ef8ccc9..6c65607b9 100644 --- a/src/login/logind-session-device.c +++ b/src/login/logind-session-device.c @@ -1,5 +1,3 @@ -/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ - /*** This file is part of systemd. @@ -19,21 +17,24 @@ along with systemd; If not, see . ***/ -#include #include -#include #include -#include #include #include -#include #include -#include -#include "util.h" -#include "missing.h" +#if 0 /// elogind needs the systems udev header +#include "libudev.h" +#else +#include +#endif // 0 + +#include "alloc-util.h" #include "bus-util.h" +#include "fd-util.h" #include "logind-session-device.h" +#include "missing.h" +#include "util.h" enum SessionDeviceNotifications { SESSION_DEVICE_RESUME, @@ -43,7 +44,7 @@ enum SessionDeviceNotifications { }; static int session_device_notify(SessionDevice *sd, enum SessionDeviceNotifications type) { - _cleanup_bus_message_unref_ sd_bus_message *m = NULL; + _cleanup_(sd_bus_message_unrefp) sd_bus_message *m = NULL; _cleanup_free_ char *path = NULL; const char *t = NULL; uint32_t major, minor; @@ -62,10 +63,10 @@ static int session_device_notify(SessionDevice *sd, enum SessionDeviceNotificati return -ENOMEM; r = sd_bus_message_new_signal( - sd->session->manager->bus, path, + sd->session->manager->bus, + &m, path, "org.freedesktop.login1.Session", - (type == SESSION_DEVICE_RESUME) ? "ResumeDevice" : "PauseDevice", - &m); + (type == SESSION_DEVICE_RESUME) ? "ResumeDevice" : "PauseDevice"); if (!m) return r; @@ -107,7 +108,7 @@ static int sd_eviocrevoke(int fd) { assert(fd >= 0); - r = ioctl(fd, EVIOCREVOKE, 1); + r = ioctl(fd, EVIOCREVOKE, NULL); if (r < 0) { r = -errno; if (r == -EINVAL && !warned) { @@ -162,7 +163,7 @@ static int session_device_open(SessionDevice *sd, bool active) { * state. */ r = sd_drmsetmaster(fd); if (r < 0) { - close(fd); + close_nointr(fd); return r; } } else { @@ -209,7 +210,7 @@ static int session_device_start(SessionDevice *sd) { r = session_device_open(sd, true); if (r < 0) return r; - close_nointr_nofail(sd->fd); + close_nointr(sd->fd); sd->fd = r; break; case DEVICE_TYPE_UNKNOWN: @@ -407,7 +408,7 @@ void session_device_free(SessionDevice *sd) { session_device_stop(sd); session_device_notify(sd, SESSION_DEVICE_RELEASE); - close_nointr_nofail(sd->fd); + close_nointr(sd->fd); LIST_REMOVE(sd_by_device, sd->device->session_devices, sd);