chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
cryptsetup-generator: Split main() into more functions and use hasmaps
[elogind.git]
/
src
/
login
/
logind-session.c
diff --git
a/src/login/logind-session.c
b/src/login/logind-session.c
index 477ac9ab1b931a686386a51ffc064923d78cd060..ea1831dac692425dddf8299d93a90b0db73357fa 100644
(file)
--- a/
src/login/logind-session.c
+++ b/
src/login/logind-session.c
@@
-292,7
+292,7
@@
int session_save(Session *s) {
finish:
if (r < 0)
finish:
if (r < 0)
- log_error
("Failed to save session data %s: %s", s->state_file, strerror(-r)
);
+ log_error
_errno(r, "Failed to save session data %s: %m", s->state_file
);
return r;
}
return r;
}
@@
-337,10
+337,8
@@
int session_load(Session *s) {
"CONTROLLER", &controller,
NULL);
"CONTROLLER", &controller,
NULL);
- if (r < 0) {
- log_error("Failed to read %s: %s", s->state_file, strerror(-r));
- return r;
- }
+ if (r < 0)
+ return log_error_errno(r, "Failed to read %s: %m", s->state_file);
if (!s->user) {
uid_t u;
if (!s->user) {
uid_t u;
@@
-549,11
+547,11
@@
int session_start(Session *s) {
return r;
log_struct(s->class == SESSION_BACKGROUND ? LOG_DEBUG : LOG_INFO,
return r;
log_struct(s->class == SESSION_BACKGROUND ? LOG_DEBUG : LOG_INFO,
- MESSAGE_ID(SD_MESSAGE_SESSION_START),
+
LOG_
MESSAGE_ID(SD_MESSAGE_SESSION_START),
"SESSION_ID=%s", s->id,
"USER_ID=%s", s->user->name,
"LEADER="PID_FMT, s->leader,
"SESSION_ID=%s", s->id,
"USER_ID=%s", s->user->name,
"LEADER="PID_FMT, s->leader,
-
"MESSAGE=New session %s of user %s.", s->id, s->user->name
,
+
LOG_MESSAGE("New session %s of user %s.", s->id, s->user->name)
,
NULL);
if (!dual_timestamp_is_set(&s->timestamp))
NULL);
if (!dual_timestamp_is_set(&s->timestamp))
@@
-652,11
+650,11
@@
int session_finalize(Session *s) {
if (s->started)
log_struct(s->class == SESSION_BACKGROUND ? LOG_DEBUG : LOG_INFO,
if (s->started)
log_struct(s->class == SESSION_BACKGROUND ? LOG_DEBUG : LOG_INFO,
- MESSAGE_ID(SD_MESSAGE_SESSION_STOP),
+
LOG_
MESSAGE_ID(SD_MESSAGE_SESSION_STOP),
"SESSION_ID=%s", s->id,
"USER_ID=%s", s->user->name,
"LEADER="PID_FMT, s->leader,
"SESSION_ID=%s", s->id,
"USER_ID=%s", s->user->name,
"LEADER="PID_FMT, s->leader,
-
"MESSAGE=Removed session %s.", s->id
,
+
LOG_MESSAGE("Removed session %s.", s->id)
,
NULL);
s->timer_event_source = sd_event_source_unref(s->timer_event_source);
NULL);
s->timer_event_source = sd_event_source_unref(s->timer_event_source);
@@
-969,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);
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;
}
return s->vtfd;
}
@@
-991,21
+987,21
@@
int session_prepare_vt(Session *s) {
r = fchown(vt, s->user->uid, -1);
if (r < 0) {
r = -errno;
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;
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;
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;
}
goto error;
}
@@
-1018,7
+1014,7
@@
int session_prepare_vt(Session *s) {
r = ioctl(vt, VT_SETMODE, &mode);
if (r < 0) {
r = -errno;
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;
}
goto error;
}
@@
-1054,6
+1050,8
@@
void session_restore_vt(Session *s) {
}
void session_leave_vt(Session *s) {
}
void session_leave_vt(Session *s) {
+ int r;
+
assert(s);
/* This is called whenever we get a VT-switch signal from the kernel.
assert(s);
/* This is called whenever we get a VT-switch signal from the kernel.
@@
-1071,7
+1069,9
@@
void session_leave_vt(Session *s) {
return;
session_device_pause_all(s);
return;
session_device_pause_all(s);
- ioctl(s->vtfd, VT_RELDISP, 1);
+ r = ioctl(s->vtfd, VT_RELDISP, 1);
+ if (r < 0)
+ log_debug_errno(errno, "Cannot release VT of session %s: %m", s->id);
}
bool session_is_controller(Session *s, const char *sender) {
}
bool session_is_controller(Session *s, const char *sender) {