From f65a05cc8f9b38c28705b0fb97589177ffe3e7b5 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 27 Apr 2022 19:34:39 +0530 Subject: [PATCH] Ensure deleted cache objects are closed Also ensure close is only called once --- src/calibre/db/cache.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/calibre/db/cache.py b/src/calibre/db/cache.py index e519511ea1..4b2a4e0993 100644 --- a/src/calibre/db/cache.py +++ b/src/calibre/db/cache.py @@ -2355,8 +2355,14 @@ class Cache: def vacuum(self): self.backend.vacuum() + def __del__(self): + self.close() + @write_api def close(self): + if hasattr(self, 'close_called'): + return + self.close_called = True self.shutting_down = True self.event_dispatcher.close() if self.fts_queue_thread is not None: