tools/power turbostat: return the exit status of a command
authorDavid Arcari <darcari@redhat.com>
Tue, 12 Feb 2019 14:34:39 +0000 (09:34 -0500)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Tue, 19 Mar 2019 15:51:16 +0000 (16:51 +0100)
turbostat failed to return a non-zero exit status even though the
supplied command (turbostat <command>) failed.  Currently when turbostat
forks a command it returns zero instead of the actual exit status of the
command.  Modify the code to return the exit status.

Signed-off-by: David Arcari <darcari@redhat.com>
Acked-by: Len Brown <len.brown@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
tools/power/x86/turbostat/turbostat.c

index 9327c0d..c3fad06 100644 (file)
@@ -5077,6 +5077,9 @@ int fork_it(char **argv)
                signal(SIGQUIT, SIG_IGN);
                if (waitpid(child_pid, &status, 0) == -1)
                        err(status, "waitpid");
+
+               if (WIFEXITED(status))
+                       status = WEXITSTATUS(status);
        }
        /*
         * n.b. fork_it() does not check for errors from for_all_cpus()