1

他の Python スレッドが実行できるように、すべての Python ロックを解放したい C++ ライブラリを呼び出す Python プログラムがあります。

を使用するPyEval_SaveThreadPyEval_ReleaseThread、スレッドの状態が NULL であるというエラーが表示されます。

Fatal Python error: PyEval_SaveThread: NULL tstate

ただし、下位レベルの関数は NULL 状態を喜んで受け入れるようです。

PyThreadState *s;
s = PyThreadState_Swap(NULL);
// (now s = 0)
PyEval_ReleaseLock();

// ....

PyEval_AcquireLock();
PyThreadState_Swap(s);

// everything seems to be just fine :)
4

1 に答える 1