summaryrefslogtreecommitdiff
path: root/src/systemctl
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2019-03-26 10:19:19 +0100
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2019-03-26 19:06:48 +0100
commit2771aaf571fda17bf3a5d83b78d2e016b9be46ce (patch)
treec0ea5cd0d039485860280243823e249e30e50183 /src/systemctl
parentadca059d55fe0a126dbdd62911b0705ddf8e9b8a (diff)
downloadsystemd-2771aaf571fda17bf3a5d83b78d2e016b9be46ce.tar.gz
systemctl: define less stuff when !HAVE_SYSV_COMPAT
We'd translate our action to sysv runlevel action, only to discard the result in talk_initctl(). Let's just ifdef the whole thing away. Fixes #12103.
Diffstat (limited to 'src/systemctl')
-rw-r--r--src/systemctl/systemctl.c3
-rw-r--r--src/systemctl/sysv-compat.c6
-rw-r--r--src/systemctl/sysv-compat.h3
3 files changed, 7 insertions, 5 deletions
diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c
index 4dd5cd3768..d162ddee5a 100644
--- a/src/systemctl/systemctl.c
+++ b/src/systemctl/systemctl.c
@@ -8727,7 +8727,6 @@ _pure_ static int action_to_runlevel(void) {
};
assert(arg_action >= 0 && arg_action < _ACTION_MAX);
-
return table[arg_action];
}
#endif
@@ -8826,9 +8825,11 @@ static int start_with_fallback(void) {
if (start_unit(0, NULL, NULL) == 0)
return 0;
+#if HAVE_SYSV_COMPAT
/* Nothing else worked, so let's try /dev/initctl */
if (talk_initctl(action_to_runlevel()) > 0)
return 0;
+#endif
return log_error_errno(SYNTHETIC_ERRNO(EIO),
"Failed to talk to init daemon.");
diff --git a/src/systemctl/sysv-compat.c b/src/systemctl/sysv-compat.c
index 72a2f57965..a85b2dfe4b 100644
--- a/src/systemctl/sysv-compat.c
+++ b/src/systemctl/sysv-compat.c
@@ -7,8 +7,8 @@
#include "strv.h"
#include "sysv-compat.h"
-int talk_initctl(char rl) {
#if HAVE_SYSV_COMPAT
+int talk_initctl(char rl) {
struct init_request request;
_cleanup_close_ int fd = -1;
const char *p;
@@ -44,10 +44,8 @@ int talk_initctl(char rl) {
return log_error_errno(r, "Failed to write to %s: %m", p);
return 1;
-#else
- return 0;
-#endif
}
+#endif
int parse_shutdown_time_spec(const char *t, usec_t *ret) {
assert(t);
diff --git a/src/systemctl/sysv-compat.h b/src/systemctl/sysv-compat.h
index 73329ec42a..e79919217c 100644
--- a/src/systemctl/sysv-compat.h
+++ b/src/systemctl/sysv-compat.h
@@ -3,7 +3,10 @@
#include "time-util.h"
+#if HAVE_SYSV_COMPAT
int talk_initctl(char runlevel);
+#endif
+
int parse_shutdown_time_spec(const char *t, usec_t *ret);
/* The init script exit codes for the LSB 'status' verb. (This is different from the 'start' verb, whose exit