mirror of
https://github.com/python/cpython.git
synced 2025-08-30 21:48:47 +00:00
gh-131591: Reset RemoteDebuggerSuupport state after fork (#132793)
Co-authored-by: Pablo Galindo Salgado <Pablogsal@gmail.com>
This commit is contained in:
parent
e54e828852
commit
3a39e33ee4
2 changed files with 11 additions and 0 deletions
|
@ -0,0 +1 @@
|
|||
Reset any :pep:`768` remote debugging pending call in children after :func:`os.fork` calls.
|
|
@ -677,6 +677,14 @@ PyOS_AfterFork_Parent(void)
|
|||
run_at_forkers(interp->after_forkers_parent, 0);
|
||||
}
|
||||
|
||||
static void
|
||||
reset_remotedebug_data(PyThreadState *tstate)
|
||||
{
|
||||
tstate->remote_debugger_support.debugger_pending_call = 0;
|
||||
memset(tstate->remote_debugger_support.debugger_script_path, 0, MAX_SCRIPT_PATH_SIZE);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
PyOS_AfterFork_Child(void)
|
||||
{
|
||||
|
@ -710,6 +718,8 @@ PyOS_AfterFork_Child(void)
|
|||
goto fatal_error;
|
||||
}
|
||||
|
||||
reset_remotedebug_data(tstate);
|
||||
|
||||
// Remove the dead thread states. We "start the world" once we are the only
|
||||
// thread state left to undo the stop the world call in `PyOS_BeforeFork`.
|
||||
// That needs to happen before `_PyThreadState_DeleteList`, because that
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue