Skip running model finalizers at exit

This commit is contained in:
blepping 2026-03-16 08:17:46 -06:00
parent 593be209a4
commit 1a41a74c45

View File

@ -541,6 +541,7 @@ class LoadedModel:
if model.parent is not None: if model.parent is not None:
self._parent_model = weakref.ref(model.parent) self._parent_model = weakref.ref(model.parent)
self._patcher_finalizer = weakref.finalize(model, self._switch_parent) self._patcher_finalizer = weakref.finalize(model, self._switch_parent)
self._patcher_finalizer.atexit = False
def _switch_parent(self): def _switch_parent(self):
model = self._parent_model() model = self._parent_model()
@ -587,6 +588,7 @@ class LoadedModel:
self.real_model = weakref.ref(real_model) self.real_model = weakref.ref(real_model)
self.model_finalizer = weakref.finalize(real_model, cleanup_models) self.model_finalizer = weakref.finalize(real_model, cleanup_models)
self.model_finalizer.atexit = False
return real_model return real_model
def should_reload_model(self, force_patch_weights=False): def should_reload_model(self, force_patch_weights=False):