From f9df80ca20abcbcf44736cdb2f0b50e225648b9b Mon Sep 17 00:00:00 2001 From: clement rouault Date: Wed, 3 Nov 2021 09:27:13 +0100 Subject: [PATCH] Improved handling of closing python in BaseSystemHandle.__del__ --- windows/winobject/handle.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/windows/winobject/handle.py b/windows/winobject/handle.py index d63a85d..03ba471 100644 --- a/windows/winobject/handle.py +++ b/windows/winobject/handle.py @@ -9,6 +9,9 @@ import windows.generated_def as gdef current_process_pid = os.getpid() class BaseSystemHandle(object): + # Big bypass to prevent missing reference at programm exit.. + _close_function = ctypes.WinDLL("kernel32").CloseHandle + """A handle of the system""" @windows.utils.fixedpropety def process(self): @@ -114,7 +117,7 @@ class BaseSystemHandle(object): if self.dwProcessId == current_process_pid: return if hasattr(self, "_local_handle"): - return winproxy.CloseHandle(self._local_handle) + return self._close_function(self._local_handle) class Handle(gdef.SYSTEM_HANDLE, BaseSystemHandle): pass