diff options
author | Doug Zongker <dougz@android.com> | 2013-07-11 19:17:48 +0200 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2013-07-11 19:17:48 +0200 |
commit | 65c37aa0d328d7bb13d121bd59ab784361335bd8 (patch) | |
tree | 9358cc08c4cc1b3057871428d2c525c1f9709546 /applypatch/applypatch.c | |
parent | am e352c88f: (-s ours) Reconcile with jb-mr2-release - do not merge (diff) | |
parent | am bf4a69ac: recovery: sleep after writing partition and closing it (diff) | |
download | android_bootable_recovery-65c37aa0d328d7bb13d121bd59ab784361335bd8.tar android_bootable_recovery-65c37aa0d328d7bb13d121bd59ab784361335bd8.tar.gz android_bootable_recovery-65c37aa0d328d7bb13d121bd59ab784361335bd8.tar.bz2 android_bootable_recovery-65c37aa0d328d7bb13d121bd59ab784361335bd8.tar.lz android_bootable_recovery-65c37aa0d328d7bb13d121bd59ab784361335bd8.tar.xz android_bootable_recovery-65c37aa0d328d7bb13d121bd59ab784361335bd8.tar.zst android_bootable_recovery-65c37aa0d328d7bb13d121bd59ab784361335bd8.zip |
Diffstat (limited to 'applypatch/applypatch.c')
-rw-r--r-- | applypatch/applypatch.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/applypatch/applypatch.c b/applypatch/applypatch.c index 830817629..5d469ad7e 100644 --- a/applypatch/applypatch.c +++ b/applypatch/applypatch.c @@ -432,7 +432,7 @@ int WriteToPartition(unsigned char* data, size_t len, int attempt; for (attempt = 0; attempt < 10; ++attempt) { - off_t next_sync = start + (1<<20); + size_t next_sync = start + (1<<20); printf("raw write %s attempt %d start at %d\n", partition, attempt+1, start); lseek(fd, start, SEEK_SET); while (start < len) { @@ -487,7 +487,7 @@ int WriteToPartition(unsigned char* data, size_t len, return -1; } } - if (read_count < to_read) { + if ((size_t)read_count < to_read) { printf("short verify read %s at %d: %d %d %s\n", partition, p, read_count, to_read, strerror(errno)); } @@ -519,6 +519,11 @@ int WriteToPartition(unsigned char* data, size_t len, printf("error closing %s (%s)\n", partition, strerror(errno)); return -1; } + // hack: sync and sleep after closing in hopes of getting + // the data actually onto flash. + printf("sleeping after close\n"); + sync(); + sleep(5); break; } } |