summaryrefslogtreecommitdiff
path: root/src/user-sessions.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/user-sessions.c')
-rw-r--r--src/user-sessions.c17
1 files changed, 11 insertions, 6 deletions
diff --git a/src/user-sessions.c b/src/user-sessions.c
index dc4ee0fb4a..8026961560 100644
--- a/src/user-sessions.c
+++ b/src/user-sessions.c
@@ -40,16 +40,21 @@ int main(int argc, char*argv[]) {
log_open();
if (streq(argv[1], "start")) {
+ int q = 0, r = 0;
- if (unlink("/var/run/nologin") < 0 ||
- unlink("/etc/nologin") < 0) {
+ if (unlink("/var/run/nologin") < 0 && errno != ENOENT) {
+ log_error("Failed to remove /var/run/nologin file: %m");
+ r = -errno;
+ }
- if (errno != ENOENT) {
- log_error("Failed to remove nologin files: %m");
- goto finish;
- }
+ if (unlink("/etc/nologin") < 0 && errno != ENOENT) {
+ log_error("Failed to remove /etc/nologin file: %m");
+ q = -errno;
}
+ if (r < 0 || q < 0)
+ goto finish;
+
} else if (streq(argv[1], "stop")) {
int r, q;