]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
shutdown: let's not use exit() needlessly 8243/head
authorLennart Poettering <lennart@poettering.net>
Wed, 21 Feb 2018 17:50:34 +0000 (18:50 +0100)
committerLennart Poettering <lennart@poettering.net>
Thu, 22 Feb 2018 09:46:26 +0000 (10:46 +0100)
Generally we prefer 'return' from main() over exit() so that automatic
cleanups and such work correct. Let's do that in shutdown.c too, becuase
there's not really any reason not to.

With this we are pretty good in consistently using return from main()
rather than exit() all across the codebase. Yay!

src/core/shutdown.c

index de689aea3111f6f84c5f403a6317fbfc85164d34..58c9a9de79eac6465d9a67265a02f9218f30a2a6 100644 (file)
@@ -485,12 +485,9 @@ int main(int argc, char *argv[]) {
 
         if (streq(arg_verb, "exit")) {
                 if (in_container)
-                        exit(arg_exit_code);
-                else {
-                        /* We cannot exit() on the host, fallback on another
-                         * method. */
-                        cmd = RB_POWER_OFF;
-                }
+                        return arg_exit_code;
+
+                cmd = RB_POWER_OFF; /* We cannot exit() on the host, fallback on another method. */
         }
 
         switch (cmd) {
@@ -542,7 +539,7 @@ int main(int argc, char *argv[]) {
                  * CAP_SYS_BOOT just exit, this will kill our
                  * container for good. */
                 log_info("Exiting container.");
-                exit(EXIT_SUCCESS);
+                return EXIT_SUCCESS;
         }
 
         r = log_error_errno(errno, "Failed to invoke reboot(): %m");