Skip to content

Commit 1f9d20b

Browse files
authored
gh-154137: Fix handle leak in test_winapi (#154201)
Make sure that events handles are closed.
1 parent 51de91d commit 1f9d20b

1 file changed

Lines changed: 8 additions & 0 deletions

File tree

Lib/test/test_winapi.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,16 @@
1212
MAXIMUM_WAIT_OBJECTS = 64
1313
MAXIMUM_BATCHED_WAIT_OBJECTS = (MAXIMUM_WAIT_OBJECTS - 1) ** 2
1414

15+
16+
def close_events(events):
17+
for handle in events:
18+
_winapi.CloseHandle(handle)
19+
20+
1521
class WinAPIBatchedWaitForMultipleObjectsTests(unittest.TestCase):
1622
def _events_waitall_test(self, n):
1723
evts = [_winapi.CreateEventW(0, False, False, None) for _ in range(n)]
24+
self.addCleanup(close_events, evts)
1825

1926
with self.assertRaises(TimeoutError):
2027
_winapi.BatchedWaitForMultipleObjects(evts, True, 100)
@@ -42,6 +49,7 @@ def _events_waitall_test(self, n):
4249

4350
def _events_waitany_test(self, n):
4451
evts = [_winapi.CreateEventW(0, False, False, None) for _ in range(n)]
52+
self.addCleanup(close_events, evts)
4553

4654
with self.assertRaises(TimeoutError):
4755
_winapi.BatchedWaitForMultipleObjects(evts, False, 100)

0 commit comments

Comments
 (0)