summaryrefslogtreecommitdiff
path: root/src/initctl/initctl.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/initctl/initctl.c')
-rw-r--r--src/initctl/initctl.c25
1 files changed, 11 insertions, 14 deletions
diff --git a/src/initctl/initctl.c b/src/initctl/initctl.c
index 0c5aab6968..c60d4bd740 100644
--- a/src/initctl/initctl.c
+++ b/src/initctl/initctl.c
@@ -81,7 +81,7 @@ static const char *translate_runlevel(int runlevel, bool *isolate) {
return NULL;
}
-static void change_runlevel(Server *s, int runlevel) {
+static int change_runlevel(Server *s, int runlevel) {
const char *target;
_cleanup_(sd_bus_error_free) sd_bus_error error = SD_BUS_ERROR_NULL;
const char *mode;
@@ -93,7 +93,7 @@ static void change_runlevel(Server *s, int runlevel) {
target = translate_runlevel(runlevel, &isolate);
if (!target) {
log_warning("Got request for unknown runlevel %c, ignoring.", runlevel);
- return;
+ return 0;
}
if (isolate)
@@ -112,10 +112,10 @@ static void change_runlevel(Server *s, int runlevel) {
&error,
NULL,
"ss", target, mode);
- if (r < 0) {
- log_error("Failed to change runlevel: %s", bus_error_message(&error, -r));
- return;
- }
+ if (r < 0)
+ return log_error_errno(r, "Failed to change runlevel: %s", bus_error_message(&error, -r));
+
+ return 0;
}
static void request_process(Server *s, const struct init_request *req) {
@@ -156,7 +156,7 @@ static void request_process(Server *s, const struct init_request *req) {
break;
default:
- change_runlevel(s, req->runlevel);
+ (void) change_runlevel(s, req->runlevel);
}
return;
@@ -322,10 +322,9 @@ static int process_event(Server *s, struct epoll_event *ev) {
assert(s);
- if (!(ev->events & EPOLLIN)) {
- log_info("Got invalid event from epoll. (3)");
- return -EIO;
- }
+ if (!(ev->events & EPOLLIN))
+ return log_info_errno(SYNTHETIC_ERRNO(EIO),
+ "Got invalid event from epoll. (3)");
f = (Fifo*) ev->data.ptr;
r = fifo_process(f);
@@ -352,9 +351,7 @@ int main(int argc, char *argv[]) {
return EXIT_FAILURE;
}
- log_set_target(LOG_TARGET_AUTO);
- log_parse_environment();
- log_open();
+ log_setup_service();
umask(0022);