#include struct PyLockGIL { PyLockGIL(): gstate(PyGILState_Ensure()) { } ~PyLockGIL() { PyGILState_Release(gstate); } PyLockGIL(const PyLockGIL&) = delete; PyLockGIL& operator=(const PyLockGIL&) = delete; PyGILState_STATE gstate; };