From 84260911693c1124df36f575f3c9f13ca4edf1f9 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Tue, 23 Jul 2024 13:39:54 +0530 Subject: [PATCH] Dont leak file handle if locking fails --- kitty/render_cache.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/kitty/render_cache.py b/kitty/render_cache.py index f89ef6cfa..158352278 100644 --- a/kitty/render_cache.py +++ b/kitty/render_cache.py @@ -29,7 +29,11 @@ class ImageRenderCache: def __enter__(self) -> None: self.ensure_subdir() self.lock_file = open(os.path.join(self.cache_dir, self.lock_file_name), 'wb') - lock_file(self.lock_file) + try: + lock_file(self.lock_file) + except Exception: + self.lock_file.close() + raise def __exit__(self, *a: object) -> None: with closing(self.lock_file):