diff --git a/tqdm/std.py b/tqdm/std.py index 26baea04f..e93590ff2 100644 --- a/tqdm/std.py +++ b/tqdm/std.py @@ -1022,9 +1022,13 @@ def __len__(self): def __enter__(self): return self - def __exit__(self, *exc): - self.close() - return False + def __exit__(self, exc_type, exc_value, traceback): + try: + self.close() + except AttributeError: + # maybe eager thread cleanup upon external error + if exc_type is None: + raise def __del__(self): self.close()