]> arthur.barton.de Git - bup.git/commitdiff
Add compat.mmap.close to set _bup_closed and always inititalize it
authorRob Browning <rlb@defaultvalue.org>
Sat, 1 Jan 2022 18:57:34 +0000 (12:57 -0600)
committerRob Browning <rlb@defaultvalue.org>
Sat, 1 Jan 2022 20:38:04 +0000 (14:38 -0600)
Add a compat.mmap.close method that properly maintains the _bup_closed
value, and make sure it always exists.

Signed-off-by: Rob Browning <rlb@defaultvalue.org>
Tested-by: Rob Browning <rlb@defaultvalue.org>
lib/bup/compat.py

index dfeb51aeacc50b62c495b3c3327dd82681e4f6d2..9def12a9d729a7044a6102381d94d772ef31564b 100644 (file)
@@ -231,16 +231,19 @@ else:  # Python 2
 
     class mmap(py_mmap.mmap):
         def __init__(self, *args, **kwargs):
-            self._bup_closed = False
+            self._bup_closed = True
             # Silence deprecation warnings.  mmap's current parent is
             # object, which accepts no params and as of at least 2.7
             # warns about them.
             if py_mmap.mmap.__init__ is not object.__init__:
                 super(mmap, self).__init__(self, *args, **kwargs)
+            self._bup_closed = False
+        def close(self):
+            self._bup_closed = True
+            super(mmap, self).close()
         def __enter__(self):
             return self
         def __exit__(self, type, value, traceback):
-            self._bup_closed = True
             with pending_raise(value, rethrow=False):
                 self.close()
         def __del__(self):