pykd/pykd/pythreadstate.h
SND\kernelnet_cp d90c4a2776 [0.3.x] added : PyTool project for tests
git-svn-id: https://pykd.svn.codeplex.com/svn@87875 9b283d60-5439-405e-af05-b73fd8c4d996
2017-11-03 14:36:27 +04:00

33 lines
463 B
C++

#pragma once
#include <Python.h>
namespace pykd {
class AutoRestorePyState
{
public:
AutoRestorePyState()
{
m_state = PyEval_SaveThread();
}
explicit AutoRestorePyState(PyThreadState **state)
{
*state = PyEval_SaveThread();
m_state = *state;
}
~AutoRestorePyState()
{
PyEval_RestoreThread( m_state );
}
private:
PyThreadState* m_state;
};
}