X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flogin%2Flogind-session.c;h=a51f9f3e0fccd2c040e6c6db9cbf32add41941ed;hb=906b76b27be410af25aa7f79b4cfdb35f7f32fc7;hp=5b30457a88486317981c599d086934f5850f90d4;hpb=f647962d64e844689f3e2acfce6102fc47e76df2;p=elogind.git diff --git a/src/login/logind-session.c b/src/login/logind-session.c index 5b30457a8..a51f9f3e0 100644 --- a/src/login/logind-session.c +++ b/src/login/logind-session.c @@ -355,7 +355,7 @@ int session_load(Session *s) { return r; } - user = hashmap_get(s->manager->users, ULONG_TO_PTR((unsigned long) u)); + user = hashmap_get(s->manager->users, UID_TO_PTR(u)); if (!user) { log_error("User of session %s not known.", s->id); return -ENOENT; @@ -967,10 +967,8 @@ static int session_open_vt(Session *s) { sprintf(path, "/dev/tty%u", s->vtnr); s->vtfd = open(path, O_RDWR | O_CLOEXEC | O_NONBLOCK | O_NOCTTY); - if (s->vtfd < 0) { - log_error("cannot open VT %s of session %s: %m", path, s->id); - return -errno; - } + if (s->vtfd < 0) + return log_error_errno(errno, "cannot open VT %s of session %s: %m", path, s->id); return s->vtfd; } @@ -989,21 +987,21 @@ int session_prepare_vt(Session *s) { r = fchown(vt, s->user->uid, -1); if (r < 0) { r = -errno; - log_error("Cannot change owner of /dev/tty%u: %m", s->vtnr); + log_error_errno(errno, "Cannot change owner of /dev/tty%u: %m", s->vtnr); goto error; } r = ioctl(vt, KDSKBMODE, K_OFF); if (r < 0) { r = -errno; - log_error("Cannot set K_OFF on /dev/tty%u: %m", s->vtnr); + log_error_errno(errno, "Cannot set K_OFF on /dev/tty%u: %m", s->vtnr); goto error; } r = ioctl(vt, KDSETMODE, KD_GRAPHICS); if (r < 0) { r = -errno; - log_error("Cannot set KD_GRAPHICS on /dev/tty%u: %m", s->vtnr); + log_error_errno(errno, "Cannot set KD_GRAPHICS on /dev/tty%u: %m", s->vtnr); goto error; } @@ -1016,7 +1014,7 @@ int session_prepare_vt(Session *s) { r = ioctl(vt, VT_SETMODE, &mode); if (r < 0) { r = -errno; - log_error("Cannot set VT_PROCESS on /dev/tty%u: %m", s->vtnr); + log_error_errno(errno, "Cannot set VT_PROCESS on /dev/tty%u: %m", s->vtnr); goto error; } @@ -1073,7 +1071,7 @@ void session_leave_vt(Session *s) { session_device_pause_all(s); r = ioctl(s->vtfd, VT_RELDISP, 1); if (r < 0) - log_debug("Cannot release VT of session %s: %m", s->id); + log_debug_errno(errno, "Cannot release VT of session %s: %m", s->id); } bool session_is_controller(Session *s, const char *sender) {