mirror of
https://github.com/hyperion-project/hyperion.ng.git
synced 2023-10-10 13:36:59 +02:00
[HOTFIX] Release Python GIL & reset threat state
This commit is contained in:
parent
1d6664d4f0
commit
4928117e8e
@ -19,7 +19,8 @@ PythonProgram::PythonProgram(const QString & name, Logger * log) :
|
|||||||
_tstate = Py_NewInterpreter();
|
_tstate = Py_NewInterpreter();
|
||||||
if(_tstate == nullptr)
|
if(_tstate == nullptr)
|
||||||
{
|
{
|
||||||
PyEval_ReleaseLock();
|
PyThreadState_Swap(mainThreadState);
|
||||||
|
PyEval_SaveThread();
|
||||||
Error(_log, "Failed to get thread state for %s",QSTRING_CSTR(_name));
|
Error(_log, "Failed to get thread state for %s",QSTRING_CSTR(_name));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -54,7 +55,8 @@ PythonProgram::~PythonProgram()
|
|||||||
|
|
||||||
// Clean up the thread state
|
// Clean up the thread state
|
||||||
Py_EndInterpreter(_tstate);
|
Py_EndInterpreter(_tstate);
|
||||||
PyEval_ReleaseLock();
|
PyThreadState_Swap(mainThreadState);
|
||||||
|
PyEval_SaveThread();
|
||||||
}
|
}
|
||||||
|
|
||||||
void PythonProgram::execute(const QByteArray & python_code)
|
void PythonProgram::execute(const QByteArray & python_code)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user