OSDN Git Service

Reopen temporary system image to avoid stale data.
authorGeremy Condra <gcondra@google.com>
Wed, 14 May 2014 03:23:54 +0000 (20:23 -0700)
committerGeremy Condra <gcondra@google.com>
Wed, 14 May 2014 03:23:54 +0000 (20:23 -0700)
NamedTemporaryFile's aggressive caching behavior can cause an issue
where changes made by another process aren't visible even after the
fseek() below or a flush(). To avoid this, simply open the file
again and read from the fresh version.

This fixes an issue where verity metadata written by append2simg
doesn't become visible to img_from_target_files.

Change-Id: I291fb3a95d5b532218ac6205ecc9e9b4f3a36bd4

tools/releasetools/img_from_target_files.py

index 596a47e..93092b3 100755 (executable)
@@ -90,8 +90,7 @@ def BuildSystem(input_dir, info_dict, sparse=True, map_file=None):
   mapdata = None
 
   if sparse:
-    img.seek(os.SEEK_SET, 0)
-    data = img.read()
+    data = open(img.name).read()
     img.close()
   else:
     success, name = build_image.UnsparseImage(img.name, replace=False)