diff --git a/pykd/dbgext.cpp b/pykd/dbgext.cpp index b14f11a..64d478c 100644 --- a/pykd/dbgext.cpp +++ b/pykd/dbgext.cpp @@ -241,7 +241,9 @@ HRESULT CALLBACK py( PDEBUG_CLIENT4 client, PCSTR args) { - PyThreadState *interpreter = Py_NewInterpreter(); + + PyThreadState *globalInterpreter = PyThreadState_Swap( NULL ); + PyThreadState *localInterpreter = Py_NewInterpreter(); try { @@ -351,7 +353,8 @@ py( PDEBUG_CLIENT4 client, PCSTR args) { } - Py_EndInterpreter( interpreter ); + Py_EndInterpreter( localInterpreter ); + PyThreadState_Swap( globalInterpreter ); return S_OK; }