From b399ad977cc320342bb5543ba6fd1cd32b30d2cc Mon Sep 17 00:00:00 2001 From: Matti Mokko Date: Mon, 19 Jun 2023 13:49:36 +0300 Subject: [PATCH] Free the loaded library at shutdown --- src/JABWrapper/jab_wrapper.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/JABWrapper/jab_wrapper.py b/src/JABWrapper/jab_wrapper.py index 1d5d2b4..991a180 100644 --- a/src/JABWrapper/jab_wrapper.py +++ b/src/JABWrapper/jab_wrapper.py @@ -23,6 +23,8 @@ create_unicode_buffer ) +from _ctypes import FreeLibrary + from typing import Callable, List, Tuple from JABWrapper.jab_types import ( @@ -195,9 +197,14 @@ def _init(self) -> None: self._context_callbacks: dict[str, List[Callable[[JavaObject], None]]] = dict() def shutdown(self): + # Call at the end to execution to free memory and unload the + # windows wrapper.dll self._context_callbacks = dict() if not self.ignore_callbacks: self._remove_callbacks() + if self._wab and self._wab._handle: + FreeLibrary(self._wab._handle) + del self._wab def _define_functions(self) -> None: # void Windows_run()