summaryrefslogtreecommitdiffstats
path: root/updater
diff options
context:
space:
mode:
authorTianjie Xu <xunchang@google.com>2017-05-17 00:51:46 +0200
committerTianjie Xu <xunchang@google.com>2017-05-24 02:36:56 +0200
commit6957555e295e8ae34ba5e8cfbfb1c7bd76b0024d (patch)
tree6ccc20bb5be3a08af14e1c56dbf332decb6eafe2 /updater
parentMerge "Print SHA1 of the patch if bsdiff fails with data error" (diff)
downloadandroid_bootable_recovery-6957555e295e8ae34ba5e8cfbfb1c7bd76b0024d.tar
android_bootable_recovery-6957555e295e8ae34ba5e8cfbfb1c7bd76b0024d.tar.gz
android_bootable_recovery-6957555e295e8ae34ba5e8cfbfb1c7bd76b0024d.tar.bz2
android_bootable_recovery-6957555e295e8ae34ba5e8cfbfb1c7bd76b0024d.tar.lz
android_bootable_recovery-6957555e295e8ae34ba5e8cfbfb1c7bd76b0024d.tar.xz
android_bootable_recovery-6957555e295e8ae34ba5e8cfbfb1c7bd76b0024d.tar.zst
android_bootable_recovery-6957555e295e8ae34ba5e8cfbfb1c7bd76b0024d.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) {