chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
journalctl: rework JSON output mode
[elogind.git]
/
src
/
login
/
logind-inhibit.c
diff --git
a/src/login/logind-inhibit.c
b/src/login/logind-inhibit.c
index 512fc0716bb4f1ad9ad3b6833ec7907f8a016331..60b6237ce5e71b3604bbee4b528a74cfa2956992 100644
(file)
--- a/
src/login/logind-inhibit.c
+++ b/
src/login/logind-inhibit.c
@@
-84,7
+84,7
@@
int inhibitor_save(Inhibitor *i) {
assert(i);
assert(i);
- r =
safe_mkdir
("/run/systemd/inhibit", 0755, 0, 0);
+ r =
mkdir_safe_label
("/run/systemd/inhibit", 0755, 0, 0);
if (r < 0)
goto finish;
if (r < 0)
goto finish;
@@
-219,11
+219,17
@@
int inhibitor_load(Inhibitor *i) {
if (mm >= 0)
i->mode = mm;
if (mm >= 0)
i->mode = mm;
- if (uid)
- parse_uid(uid, &i->uid);
+ if (uid) {
+ r = parse_uid(uid, &i->uid);
+ if (r < 0)
+ goto finish;
+ }
- if (pid)
- parse_pid(pid, &i->pid);
+ if (pid) {
+ r = parse_pid(pid, &i->pid);
+ if (r < 0)
+ goto finish;
+ }
if (who) {
cc = cunescape(who);
if (who) {
cc = cunescape(who);
@@
-272,7
+278,7
@@
int inhibitor_create_fifo(Inhibitor *i) {
/* Create FIFO */
if (!i->fifo_path) {
/* Create FIFO */
if (!i->fifo_path) {
- r =
safe_mkdir
("/run/systemd/inhibit", 0755, 0, 0);
+ r =
mkdir_safe_label
("/run/systemd/inhibit", 0755, 0, 0);
if (r < 0)
return r;
if (r < 0)
return r;
@@
-297,7
+303,7
@@
int inhibitor_create_fifo(Inhibitor *i) {
zero(ev);
ev.events = 0;
zero(ev);
ev.events = 0;
- ev.data.u32 = FD_
FIFO
_BASE + i->fifo_fd;
+ ev.data.u32 = FD_
OTHER
_BASE + i->fifo_fd;
if (epoll_ctl(i->manager->epoll_fd, EPOLL_CTL_ADD, i->fifo_fd, &ev) < 0)
return -errno;
if (epoll_ctl(i->manager->epoll_fd, EPOLL_CTL_ADD, i->fifo_fd, &ev) < 0)
return -errno;