From: Yu Watanabe Date: Tue, 7 Aug 2018 01:06:49 +0000 (+0900) Subject: initctl: do not ignore errors in function X-Git-Tag: v240~853^2~5 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=73e47c42ab5ec6b99de34c5e673f4fc3d5cf1b6e;p=thirdparty%2Fsystemd.git initctl: do not ignore errors in function --- diff --git a/src/initctl/initctl.c b/src/initctl/initctl.c index 0c5aab6968d..c93c02bf48b 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;