From 117cd4ee1393d7adec5d8cbff1433878d6d559a6 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sat, 27 Jan 2018 23:42:47 +0530 Subject: [PATCH] Use an atomic open for tdir-lock on windows --- src/calibre/ptempfile.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/calibre/ptempfile.py b/src/calibre/ptempfile.py index 74f711bcfa..75bd4db4f1 100644 --- a/src/calibre/ptempfile.py +++ b/src/calibre/ptempfile.py @@ -294,19 +294,21 @@ def better_mktemp(*args, **kwargs): return path -TDIR_LOCK = 'tdir-lock' +TDIR_LOCK = u'tdir-lock' if iswindows: def lock_tdir(path): - return lopen(os.path.join(path, TDIR_LOCK), 'wb') + from calibre.utils.lock import windows_open + return windows_open(os.path.join(path, TDIR_LOCK)) def remove_tdir(path, lock_file): lock_file.close() remove_dir(path) def is_tdir_locked(path): + from calibre.utils.lock import windows_open try: - with lopen(os.path.join(path, TDIR_LOCK), 'wb'): + with windows_open(os.path.join(path, TDIR_LOCK)): pass except EnvironmentError: return True