From 0fdcbec65af8d837f8074a9c120851f4e46a3b5d Mon Sep 17 00:00:00 2001 From: Vojtech Bocek Date: Fri, 20 Mar 2015 15:36:40 +0100 Subject: Fix TWFunc::Wait_For_Child reporting success when child segfaults Change-Id: Ic17624b32ca4aea43c72aea0c3d6dec0441ddee4 Signed-off-by: Vojtech Bocek --- twrp-functions.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'twrp-functions.cpp') diff --git a/twrp-functions.cpp b/twrp-functions.cpp index e6961e288..c396a07fd 100644 --- a/twrp-functions.cpp +++ b/twrp-functions.cpp @@ -126,12 +126,12 @@ int TWFunc::Wait_For_Child(pid_t pid, int *status, string Child_Name) { rc_pid = waitpid(pid, status, 0); if (rc_pid > 0) { - if (WEXITSTATUS(*status) == 0) - LOGINFO("%s process ended with RC=%d\n", Child_Name.c_str(), WEXITSTATUS(*status)); // Success - else if (WIFSIGNALED(*status)) { + if (WIFSIGNALED(*status)) { LOGINFO("%s process ended with signal: %d\n", Child_Name.c_str(), WTERMSIG(*status)); // Seg fault or some other non-graceful termination return -1; - } else if (WEXITSTATUS(*status) != 0) { + } else if (WEXITSTATUS(*status) == 0) { + LOGINFO("%s process ended with RC=%d\n", Child_Name.c_str(), WEXITSTATUS(*status)); // Success + } else { LOGINFO("%s process ended with ERROR=%d\n", Child_Name.c_str(), WEXITSTATUS(*status)); // Graceful exit, but there was an error return -1; } -- cgit v1.2.3