Skip to content

Commit

Permalink
pythongh-115482: Assume the Main Interpreter is Always Running "main" (
Browse files Browse the repository at this point in the history
…pythongh-115484)

This is a temporary fix to unblock embedders that do not call Py_Main().

_PyInterpreterState_IsRunningMain() will always return true for the main interpreter, even in corner cases where it technically should not. The (future) full solution will do the right thing in those corner cases.
  • Loading branch information
ericsnowcurrently authored Feb 14, 2024
1 parent 3e7b7df commit 4684301
Showing 1 changed file with 8 additions and 1 deletion.
9 changes: 8 additions & 1 deletion Python/pystate.c
Original file line number Diff line number Diff line change
Expand Up @@ -1044,7 +1044,14 @@ _PyInterpreterState_SetNotRunningMain(PyInterpreterState *interp)
int
_PyInterpreterState_IsRunningMain(PyInterpreterState *interp)
{
return (interp->threads.main != NULL);
if (interp->threads.main != NULL) {
return 1;
}
// For now, we assume the main interpreter is always running.
if (_Py_IsMainInterpreter(interp)) {
return 1;
}
return 0;
}

int
Expand Down

0 comments on commit 4684301

Please sign in to comment.