Skip to content

Commit 1827feb

Browse files
Drop the _PyCrossInterpreterData_Clear() call in _xxinterpchannels.
1 parent c86f738 commit 1827feb

File tree

1 file changed

+1
-13
lines changed

1 file changed

+1
-13
lines changed

Modules/_xxinterpchannelsmodule.c

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -174,19 +174,7 @@ _release_xid_data(_PyCrossInterpreterData *data, int ignoreexc)
174174
}
175175
int res = _PyCrossInterpreterData_Release(data);
176176
if (res < 0) {
177-
// XXX Fix this!
178-
/* The owning interpreter is already destroyed.
179-
* Ideally, this shouldn't ever happen. When an interpreter is
180-
* about to be destroyed, we should clear out all of its objects
181-
* from every channel associated with that interpreter.
182-
* For now we hack around that to resolve refleaks, by decref'ing
183-
* the released object here, even if its the wrong interpreter.
184-
* The owning interpreter has already been destroyed
185-
* so we should be okay, especially since the currently
186-
* shareable types are all very basic, with no GC.
187-
* That said, it becomes much messier once interpreters
188-
* no longer share a GIL, so this needs to be fixed before then. */
189-
_PyCrossInterpreterData_Clear(NULL, data);
177+
/* The owning interpreter is already destroyed. */
190178
if (ignoreexc) {
191179
// XXX Emit a warning?
192180
PyErr_Clear();

0 commit comments

Comments
 (0)