Skip to content

Commit e91fd42

Browse files
committed
Fix use of cleared global variables in concurrent.interpreters.
1 parent 3b83257 commit e91fd42

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

Lib/concurrent/interpreters/__init__.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -149,12 +149,14 @@ def __del__(self):
149149
def __reduce__(self):
150150
return (type(self), (self._id,))
151151

152-
def _decref(self):
152+
# gh-135729: Globals might be destroyed by the time this is called, so we
153+
# need to keep references ourself
154+
def _decref(self, InterpreterNotFoundError=InterpreterNotFoundError, _interp_decref=_interpreters.decref):
153155
if not self._ownsref:
154156
return
155157
self._ownsref = False
156158
try:
157-
_interpreters.decref(self._id)
159+
_interp_decref(self._id)
158160
except InterpreterNotFoundError:
159161
pass
160162

0 commit comments

Comments
 (0)