summaryrefslogtreecommitdiffstats
path: root/updater
diff options
context:
space:
mode:
authorTianjie Xu <xunchang@google.com>2017-05-24 20:54:04 +0200
committerandroid-build-merger <android-build-merger@google.com>2017-05-24 20:54:04 +0200
commitda1fcf7ab2c0f63c85fa0d2596fc64699225989e (patch)
tree49b294b8f3507b22f257504808d2f54b00c1a7ab /updater
parentMerge "Print SHA1 of the patch if bsdiff fails with data error" am: 1f9808bd48 am: 8f68accc9d (diff)
parentMerge "Retry the update if ApplyBSDiffPatch | ApplyImagePatch fails" am: 9c1a114789 (diff)
downloadandroid_bootable_recovery-da1fcf7ab2c0f63c85fa0d2596fc64699225989e.tar
android_bootable_recovery-da1fcf7ab2c0f63c85fa0d2596fc64699225989e.tar.gz
android_bootable_recovery-da1fcf7ab2c0f63c85fa0d2596fc64699225989e.tar.bz2
android_bootable_recovery-da1fcf7ab2c0f63c85fa0d2596fc64699225989e.tar.lz
android_bootable_recovery-da1fcf7ab2c0f63c85fa0d2596fc64699225989e.tar.xz
android_bootable_recovery-da1fcf7ab2c0f63c85fa0d2596fc64699225989e.tar.zst
android_bootable_recovery-da1fcf7ab2c0f63c85fa0d2596fc64699225989e.zip
Diffstat (limited to 'updater')
-rw-r--r--updater/blockimg.cpp2
-rw-r--r--updater/updater.cpp4
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) {