diff options
author | Lennart Poettering <lennart@poettering.net> | 2018-02-21 23:42:58 +0100 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2018-02-21 23:44:39 +0100 |
commit | 6079afa9b07e47c9b3526177243c97c386bc3077 (patch) | |
tree | d931b0f6b3a379971be6a4a8db2751b00b9c3eca /src/user-sessions | |
parent | ad383382c750672772766e570f5b53906626aee3 (diff) | |
download | systemd-6079afa9b07e47c9b3526177243c97c386bc3077.tar.gz |
user-sessions: let's simplify our code paths a bit
Let's always go through mac_selinux_finish(), by making our
success/failure codepaths more alike.
This also saves a few lines of code. Yay!
Diffstat (limited to 'src/user-sessions')
-rw-r--r-- | src/user-sessions/user-sessions.c | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/src/user-sessions/user-sessions.c b/src/user-sessions/user-sessions.c index 1aed9adae7..5e02ede402 100644 --- a/src/user-sessions/user-sessions.c +++ b/src/user-sessions/user-sessions.c @@ -48,22 +48,19 @@ int main(int argc, char*argv[]) { if (streq(argv[1], "start")) { r = unlink_or_warn("/run/nologin"); k = unlink_or_warn("/etc/nologin"); - if (r < 0 || k < 0) - return EXIT_FAILURE; + if (k < 0 && r >= 0) + r = k; } else if (streq(argv[1], "stop")) { r = write_string_file_atomic_label("/run/nologin", "System is going down."); - if (r < 0) { + if (r < 0) log_error_errno(r, "Failed to create /run/nologin: %m"); - return EXIT_FAILURE; - } } else { - log_error("Unknown verb %s.", argv[1]); - return EXIT_FAILURE; + log_error("Unknown verb '%s'.", argv[1]); + r = -EINVAL; } mac_selinux_finish(); - - return EXIT_SUCCESS; + return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS; } |