From a682b50fd4ae2b59f112a6b619301860ee8f298c Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Fri, 7 Feb 2025 16:26:02 -0800 Subject: [PATCH] refactor: Improve cache warming thread cleanup in Coder class --- aider/coders/base_coder.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/aider/coders/base_coder.py b/aider/coders/base_coder.py index 0325a9ee5..ec6617d08 100755 --- a/aider/coders/base_coder.py +++ b/aider/coders/base_coder.py @@ -264,6 +264,8 @@ class Coder: return lines + _cache_warming_stop = False + def __init__( self, main_model, @@ -1207,12 +1209,13 @@ class Coder: self.next_cache_warm = time.time() + delay self.warming_pings_left = self.num_cache_warming_pings self.cache_warming_chunks = chunks + self._cache_warming_stop = False if self.cache_warming_thread: return def warm_cache_worker(): - while True: + while not self._cache_warming_stop: dump(self.warming_pings_left) time.sleep(1) if self.warming_pings_left <= 0: @@ -1538,6 +1541,10 @@ class Coder: return res + def __del__(self): + """Cleanup when the Coder object is destroyed.""" + self._cache_warming_stop = True + def add_assistant_reply_to_cur_messages(self): if self.partial_response_content: self.cur_messages += [dict(role="assistant", content=self.partial_response_content)]