diff options
author | Tao Bao <tbao@google.com> | 2016-12-19 20:19:41 +0100 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2016-12-19 20:19:41 +0100 |
commit | e81719dde3d520c92ad000eff8a833a739668565 (patch) | |
tree | 567c1e301e3e40486e427a0ce6bd9d02cd21f957 | |
parent | Merge "Add update_bootloader_message() to fix two-step OTAs." (diff) | |
parent | Bugfix:updater always retry apply patch failed,when memcpy failed. (diff) | |
download | android_bootable_recovery-e81719dde3d520c92ad000eff8a833a739668565.tar android_bootable_recovery-e81719dde3d520c92ad000eff8a833a739668565.tar.gz android_bootable_recovery-e81719dde3d520c92ad000eff8a833a739668565.tar.bz2 android_bootable_recovery-e81719dde3d520c92ad000eff8a833a739668565.tar.lz android_bootable_recovery-e81719dde3d520c92ad000eff8a833a739668565.tar.xz android_bootable_recovery-e81719dde3d520c92ad000eff8a833a739668565.tar.zst android_bootable_recovery-e81719dde3d520c92ad000eff8a833a739668565.zip |
-rw-r--r-- | applypatch/applypatch.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/applypatch/applypatch.cpp b/applypatch/applypatch.cpp index 95389da6e..8682e128b 100644 --- a/applypatch/applypatch.cpp +++ b/applypatch/applypatch.cpp @@ -332,6 +332,17 @@ int WriteToPartition(const unsigned char* data, size_t len, const std::string& t success = true; break; } + + if (ota_close(fd) != 0) { + printf("failed to close %s: %s\n", partition, strerror(errno)); + return -1; + } + + fd.reset(ota_open(partition, O_RDWR)); + if (fd == -1) { + printf("failed to reopen %s for retry write && verify: %s\n", partition, strerror(errno)); + return -1; + } } if (!success) { |