mirror of
https://github.com/systemd/systemd.git
synced 2024-10-27 10:25:37 +03:00
user-sessions: modernizations
This commit is contained in:
parent
a658cafa98
commit
fe5af61253
@ -28,7 +28,6 @@
|
||||
#include "fileio.h"
|
||||
|
||||
int main(int argc, char*argv[]) {
|
||||
int ret = EXIT_FAILURE;
|
||||
|
||||
if (argc != 2) {
|
||||
log_error("This program requires one argument.");
|
||||
@ -42,7 +41,7 @@ int main(int argc, char*argv[]) {
|
||||
umask(0022);
|
||||
|
||||
if (streq(argv[1], "start")) {
|
||||
int q = 0, r = 0;
|
||||
int r = 0;
|
||||
|
||||
if (unlink("/run/nologin") < 0 && errno != ENOENT) {
|
||||
log_error("Failed to remove /run/nologin file: %m");
|
||||
@ -50,7 +49,6 @@ int main(int argc, char*argv[]) {
|
||||
}
|
||||
|
||||
if (unlink("/etc/nologin") < 0 && errno != ENOENT) {
|
||||
|
||||
/* If the file doesn't exist and /etc simply
|
||||
* was read-only (in which case unlink()
|
||||
* returns EROFS even if the file doesn't
|
||||
@ -58,27 +56,26 @@ int main(int argc, char*argv[]) {
|
||||
|
||||
if (errno != EROFS || access("/etc/nologin", F_OK) >= 0) {
|
||||
log_error("Failed to remove /etc/nologin file: %m");
|
||||
q = -errno;
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
}
|
||||
|
||||
if (r < 0 || q < 0)
|
||||
goto finish;
|
||||
if (r < 0)
|
||||
return EXIT_FAILURE;
|
||||
|
||||
} else if (streq(argv[1], "stop")) {
|
||||
int r;
|
||||
|
||||
r = write_string_file_atomic("/run/nologin", "System is going down.");
|
||||
if (r < 0)
|
||||
if (r < 0) {
|
||||
log_error("Failed to create /run/nologin: %s", strerror(-r));
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
} else {
|
||||
log_error("Unknown verb %s.", argv[1]);
|
||||
goto finish;
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
ret = EXIT_SUCCESS;
|
||||
|
||||
finish:
|
||||
return ret;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user