Skip to content

Commit ff3c4e8

Browse files
committed
Suppress logging when closing parent lock handle at exit
This change prevent ValueError in pytest when calling logger.debug during shutdown. f93ff72 made a related fix in Options.py
1 parent 5f438b8 commit ff3c4e8

1 file changed

Lines changed: 10 additions & 4 deletions

File tree

bleachbit/Windows.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -358,13 +358,14 @@ def _delete_parent_directory(pathname):
358358
return FileUtilities.extended_path(os.path.dirname(path))
359359

360360

361-
def _close_delete_parent_lock():
361+
def _close_delete_parent_lock(log=True):
362362
"""Close the parent lock handle."""
363363
global _delete_parent_lock_handle
364364
global _delete_parent_lock_key
365365
if _delete_parent_lock_handle is not None:
366-
logger.debug('Closing parent lock handle for %s',
367-
_delete_parent_lock_key)
366+
if log:
367+
logger.debug('Closing parent lock handle for %s',
368+
_delete_parent_lock_key)
368369
win32file.CloseHandle(_delete_parent_lock_handle)
369370
_delete_parent_lock_handle = None
370371
_delete_parent_lock_key = None
@@ -463,7 +464,7 @@ def with_parent_lock(pathname, func, *args, **kwargs):
463464

464465

465466
if IS_WINDOWS:
466-
atexit.register(_close_delete_parent_lock)
467+
atexit.register(_close_delete_parent_lock, False)
467468

468469

469470
def delete_locked_file(pathname):
@@ -1289,6 +1290,7 @@ def __init__(self, group=None, name=None, args=(), kwargs=None):
12891290
self._splash_screen_width = None
12901291
self._startup_error = None
12911292
self._thread_id = None
1293+
self._closed = False
12921294

12931295
def start(self):
12941296
if self.ident is not None:
@@ -1335,6 +1337,10 @@ def join(self, timeout=None):
13351337
self.close(timeout)
13361338

13371339
def close(self, timeout=None):
1340+
if self._closed:
1341+
return
1342+
self._closed = True
1343+
atexit.unregister(self.close)
13381344
if not self.is_alive():
13391345
return
13401346
splash_delay = get_splash_screen_delay_seconds()

0 commit comments

Comments
 (0)