]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
run: also show a pretty string for main exit status, if any
authorMike Yuan <me@yhndnzj.com>
Sun, 26 May 2024 02:33:59 +0000 (10:33 +0800)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Sun, 26 May 2024 19:31:33 +0000 (04:31 +0900)
This brings output on par with unit_log_process_exit().

src/run/run.c

index 3732945a2ed60ef1efda797e1a002980fff86923..368952b82f355d1d51a07bf57c00f4756946cebe 100644 (file)
@@ -1882,12 +1882,13 @@ static int start_transient_service(sd_bus *bus) {
                         if (!isempty(c.result))
                                 log_info("Finished with result: %s", strna(c.result));
 
-                        if (c.exit_code == CLD_EXITED)
-                                log_info("Main processes terminated with: code=%s/status=%u",
-                                         sigchld_code_to_string(c.exit_code), c.exit_status);
-                        else if (c.exit_code > 0)
-                                log_info("Main processes terminated with: code=%s/status=%s",
-                                         sigchld_code_to_string(c.exit_code), signal_to_string(c.exit_status));
+                        if (c.exit_code > 0)
+                                log_info("Main processes terminated with: code=%s, status=%u/%s",
+                                         sigchld_code_to_string(c.exit_code),
+                                         c.exit_status,
+                                         strna(c.exit_code == CLD_EXITED ?
+                                               exit_status_to_string(c.exit_status, EXIT_STATUS_FULL) :
+                                               signal_to_string(c.exit_status)));
 
                         if (timestamp_is_set(c.inactive_enter_usec) &&
                             timestamp_is_set(c.inactive_exit_usec) &&