diff options
author | Tao Bao <tbao@google.com> | 2018-11-09 00:29:40 +0100 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2018-11-09 00:29:40 +0100 |
commit | 14153976cd34a78a81d350cd89e664811f8adaad (patch) | |
tree | 8e80f33d4570935a3786a4c811241810fd801b01 | |
parent | Merge "minui: GRSurface manages data with std::unique_ptr." am: 481613b35f (diff) | |
parent | Merge "Check and dump the signal info for killed updater." (diff) | |
download | android_bootable_recovery-14153976cd34a78a81d350cd89e664811f8adaad.tar android_bootable_recovery-14153976cd34a78a81d350cd89e664811f8adaad.tar.gz android_bootable_recovery-14153976cd34a78a81d350cd89e664811f8adaad.tar.bz2 android_bootable_recovery-14153976cd34a78a81d350cd89e664811f8adaad.tar.lz android_bootable_recovery-14153976cd34a78a81d350cd89e664811f8adaad.tar.xz android_bootable_recovery-14153976cd34a78a81d350cd89e664811f8adaad.tar.zst android_bootable_recovery-14153976cd34a78a81d350cd89e664811f8adaad.zip |
-rw-r--r-- | install.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/install.cpp b/install.cpp index e1e8ee879..680937dd1 100644 --- a/install.cpp +++ b/install.cpp @@ -497,9 +497,16 @@ static int try_update_binary(const std::string& package, ZipArchiveHandle zip, b if (retry_update) { return INSTALL_RETRY; } - if (!WIFEXITED(status) || WEXITSTATUS(status) != 0) { - LOG(ERROR) << "Error in " << package << " (Status " << WEXITSTATUS(status) << ")"; + if (WIFEXITED(status)) { + if (WEXITSTATUS(status) != EXIT_SUCCESS) { + LOG(ERROR) << "Error in " << package << " (status " << WEXITSTATUS(status) << ")"; + return INSTALL_ERROR; + } + } else if (WIFSIGNALED(status)) { + LOG(ERROR) << "Error in " << package << " (killed by signal " << WTERMSIG(status) << ")"; return INSTALL_ERROR; + } else { + LOG(FATAL) << "Invalid status code " << status; } return INSTALL_SUCCESS; |