summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2010-10-07 23:16:48 +0200
committerLennart Poettering <lennart@poettering.net>2010-10-07 23:16:48 +0200
commit4a8a5b2963fca71fca044dcdddc3f767f3cdbd17 (patch)
tree58f41702db2f8c36c1d5f5c95677b0e4ca8af34e
parente92787416c691c3f34f47349e5eae3fa68eae856 (diff)
user-sessions: properly unlink both nologin files
-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;