diff options
author | Tianjie Xu <xunchang@google.com> | 2017-05-24 20:42:00 +0200 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2017-05-24 20:42:02 +0200 |
commit | 9c1a1147894c61e4efd35e0a9d941b498f9d727a (patch) | |
tree | 6ccc20bb5be3a08af14e1c56dbf332decb6eafe2 /updater | |
parent | Merge "Print SHA1 of the patch if bsdiff fails with data error" (diff) | |
parent | Retry the update if ApplyBSDiffPatch | ApplyImagePatch fails (diff) | |
download | android_bootable_recovery-9c1a1147894c61e4efd35e0a9d941b498f9d727a.tar android_bootable_recovery-9c1a1147894c61e4efd35e0a9d941b498f9d727a.tar.gz android_bootable_recovery-9c1a1147894c61e4efd35e0a9d941b498f9d727a.tar.bz2 android_bootable_recovery-9c1a1147894c61e4efd35e0a9d941b498f9d727a.tar.lz android_bootable_recovery-9c1a1147894c61e4efd35e0a9d941b498f9d727a.tar.xz android_bootable_recovery-9c1a1147894c61e4efd35e0a9d941b498f9d727a.tar.zst android_bootable_recovery-9c1a1147894c61e4efd35e0a9d941b498f9d727a.zip |
Diffstat (limited to 'updater')
-rw-r--r-- | updater/blockimg.cpp | 2 | ||||
-rw-r--r-- | updater/updater.cpp | 4 |
2 files changed, 6 insertions, 0 deletions
diff --git a/updater/blockimg.cpp b/updater/blockimg.cpp index d5c170473..df366b0b8 100644 --- a/updater/blockimg.cpp +++ b/updater/blockimg.cpp @@ -1213,6 +1213,7 @@ static int PerformCommandDiff(CommandParameters& params) { std::placeholders::_2), nullptr, nullptr) != 0) { LOG(ERROR) << "Failed to apply image patch."; + failure_type = kPatchApplicationFailure; return -1; } } else { @@ -1221,6 +1222,7 @@ static int PerformCommandDiff(CommandParameters& params) { std::placeholders::_2), nullptr) != 0) { LOG(ERROR) << "Failed to apply bsdiff patch."; + failure_type = kPatchApplicationFailure; return -1; } } diff --git a/updater/updater.cpp b/updater/updater.cpp index 1be8b6040..f5ff6df91 100644 --- a/updater/updater.cpp +++ b/updater/updater.cpp @@ -202,6 +202,10 @@ int main(int argc, char** argv) { // Cause code should provide additional information about the abort. if (state.cause_code != kNoCause) { fprintf(cmd_pipe, "log cause: %d\n", state.cause_code); + if (state.cause_code == kPatchApplicationFailure) { + LOG(INFO) << "Patch application failed, retry update."; + fprintf(cmd_pipe, "retry_update\n"); + } } if (updater_info.package_zip) { |