Skip to content

Commit 490b638

Browse files
bpo-42972: Fix GC assertion error in _winapi by untracking Overlapped earlier (GH(26429)
1 parent 0fa282c commit 490b638

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

Modules/_winapi.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,7 @@ overlapped_dealloc(OverlappedObject *self)
132132
DWORD bytes;
133133
int err = GetLastError();
134134

135+
PyObject_GC_UnTrack(self);
135136
if (self->pending) {
136137
if (check_CancelIoEx() &&
137138
Py_CancelIoEx(self->handle, &self->overlapped) &&
@@ -164,7 +165,6 @@ overlapped_dealloc(OverlappedObject *self)
164165

165166
CloseHandle(self->overlapped.hEvent);
166167
SetLastError(err);
167-
PyObject_GC_UnTrack(self);
168168
if (self->write_buffer.obj)
169169
PyBuffer_Release(&self->write_buffer);
170170
Py_CLEAR(self->read_buffer);

0 commit comments

Comments
 (0)