https://github.com/python/cpython/commit/df36cf12d925231fdabb9aac2208508e7955367b
commit: df36cf12d925231fdabb9aac2208508e7955367b
branch: 3.15
author: Miss Islington (bot) <[email protected]>
committer: ambv <[email protected]>
date: 2026-07-22T17:08:46+02:00
summary:

[3.15] gh-154137: Fix handle leak in test_winapi (GH-154201) (#154202)

Make sure that events handles are closed.
(cherry picked from commit 1f9d20bbd4fed601e7caf76a12e52d35c8ae2b14)

Co-authored-by: Victor Stinner <[email protected]>
Co-authored-by: Ɓukasz Langa <[email protected]>

files:
M Lib/test/test_winapi.py

diff --git a/Lib/test/test_winapi.py b/Lib/test/test_winapi.py
index a1c0b80d47e4d4..0ae03a3bf505f7 100644
--- a/Lib/test/test_winapi.py
+++ b/Lib/test/test_winapi.py
@@ -12,9 +12,16 @@
 MAXIMUM_WAIT_OBJECTS = 64
 MAXIMUM_BATCHED_WAIT_OBJECTS = (MAXIMUM_WAIT_OBJECTS - 1) ** 2
 
+
+def close_events(events):
+    for handle in events:
+        _winapi.CloseHandle(handle)
+
+
 class WinAPIBatchedWaitForMultipleObjectsTests(unittest.TestCase):
     def _events_waitall_test(self, n):
         evts = [_winapi.CreateEventW(0, False, False, None) for _ in range(n)]
+        self.addCleanup(close_events, evts)
 
         with self.assertRaises(TimeoutError):
             _winapi.BatchedWaitForMultipleObjects(evts, True, 100)
@@ -42,6 +49,7 @@ def _events_waitall_test(self, n):
 
     def _events_waitany_test(self, n):
         evts = [_winapi.CreateEventW(0, False, False, None) for _ in range(n)]
+        self.addCleanup(close_events, evts)
 
         with self.assertRaises(TimeoutError):
             _winapi.BatchedWaitForMultipleObjects(evts, False, 100)

_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3//lists/python-checkins.python.org
Member address: [email protected]

Reply via email to