Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c7b0df02 authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "FileImage: make thread-safe"

parents fc6948b5 55988c46
Loading
Loading
Loading
Loading
+9 −4
Original line number Diff line number Diff line
@@ -205,6 +205,8 @@ class FileImage(Image):
    self.clobbered_blocks = RangeSet()
    self.extended = RangeSet()

    self.generator_lock = threading.Lock()

    self.hashtree_info = None
    if hashtree_info_generator:
      self.hashtree_info = hashtree_info_generator.Generate(self)
@@ -236,6 +238,9 @@ class FileImage(Image):
    self._file.close()

  def _GetRangeData(self, ranges):
    # Use a lock to protect the generator so that we will not run two
    # instances of this generator on the same object simultaneously.
    with self.generator_lock:
      for s, e in ranges:
        self._file.seek(s * self.blocksize)
        for _ in range(s, e):