# pylint: disable=unused-import
from contextlib import ExitStack, nullcontext
- from mmap import mmap
from os import environb as environ
from os import fsdecode, fsencode
from shlex import quote
"""
def __init__(self, ex, rethrow=True):
+ self.closed = False
self.ex = ex
self.rethrow = rethrow
def __enter__(self):
return None
def __exit__(self, exc_type, exc_value, traceback):
+ self.closed = True
if not exc_type and self.ex and self.rethrow:
raise self.ex
+ def __del__(self):
+ assert self.closed
def items(x):
return x.items()
else: # Python 2
from contextlib import contextmanager
- import mmap as py_mmap
ModuleNotFoundError = ImportError
"""
def __init__(self, ex, rethrow=True):
+ self.closed = False
self.ex = ex
self.rethrow = rethrow
def __enter__(self):
if self.ex:
add_ex_tb(self.ex)
def __exit__(self, exc_type, exc_value, traceback):
+ self.closed = True
if exc_value:
if self.ex:
add_ex_tb(exc_value)
return
if self.rethrow and self.ex:
raise self.ex
+ def __del__(self):
+ assert self.closed
def dump_traceback(ex):
stack = [ex]
buffer = buffer
- assert not hasattr(py_mmap.mmap, '__enter__')
- assert not hasattr(py_mmap.mmap, '__exit__')
-
- class mmap(py_mmap.mmap):
- def __enter__(self):
- return self
- def __exit__(self, type, value, traceback):
- with pending_raise(value, rethrow=False):
- self.close()
-
try:
import bup_main
except ModuleNotFoundError: