OLD | NEW |
(Empty) | |
| 1 #if defined(SWIG_PYTHON_NO_THREADS) |
| 2 # if defined(SWIG_PYTHON_THREADS) |
| 3 # undef SWIG_PYTHON_THREADS |
| 4 # endif |
| 5 #endif |
| 6 #if defined(SWIG_PYTHON_THREADS) /* Threading support is enabled */ |
| 7 # if !defined(SWIG_PYTHON_USE_GIL) && !defined(SWIG_PYTHON_NO_USE_GIL) |
| 8 # if (PY_VERSION_HEX >= 0x02030000) /* For 2.3 or later, use the PyGILState c
alls */ |
| 9 # define SWIG_PYTHON_USE_GIL |
| 10 # endif |
| 11 # endif |
| 12 # if defined(SWIG_PYTHON_USE_GIL) /* Use PyGILState threads calls */ |
| 13 # ifndef SWIG_PYTHON_INITIALIZE_THREADS |
| 14 # define SWIG_PYTHON_INITIALIZE_THREADS PyEval_InitThreads() |
| 15 # endif |
| 16 # ifdef __cplusplus /* C++ code */ |
| 17 class SWIG_Python_Thread_Block { |
| 18 bool status; |
| 19 PyGILState_STATE state; |
| 20 public: |
| 21 void end() { if (status) { PyGILState_Release(state); status = false;}
} |
| 22 SWIG_Python_Thread_Block() : status(true), state(PyGILState_Ensure()) {
} |
| 23 ~SWIG_Python_Thread_Block() { end(); } |
| 24 }; |
| 25 class SWIG_Python_Thread_Allow { |
| 26 bool status; |
| 27 PyThreadState *save; |
| 28 public: |
| 29 void end() { if (status) { PyEval_RestoreThread(save); status = false;
}} |
| 30 SWIG_Python_Thread_Allow() : status(true), save(PyEval_SaveThread()) {} |
| 31 ~SWIG_Python_Thread_Allow() { end(); } |
| 32 }; |
| 33 # define SWIG_PYTHON_THREAD_BEGIN_BLOCK SWIG_Python_Thread_Block _swig_th
read_block |
| 34 # define SWIG_PYTHON_THREAD_END_BLOCK _swig_thread_block.end() |
| 35 # define SWIG_PYTHON_THREAD_BEGIN_ALLOW SWIG_Python_Thread_Allow _swig_th
read_allow |
| 36 # define SWIG_PYTHON_THREAD_END_ALLOW _swig_thread_allow.end() |
| 37 # else /* C code */ |
| 38 # define SWIG_PYTHON_THREAD_BEGIN_BLOCK PyGILState_STATE _swig_thread_blo
ck = PyGILState_Ensure() |
| 39 # define SWIG_PYTHON_THREAD_END_BLOCK PyGILState_Release(_swig_thread_b
lock) |
| 40 # define SWIG_PYTHON_THREAD_BEGIN_ALLOW PyThreadState *_swig_thread_allow
= PyEval_SaveThread() |
| 41 # define SWIG_PYTHON_THREAD_END_ALLOW PyEval_RestoreThread(_swig_thread
_allow) |
| 42 # endif |
| 43 # else /* Old thread way, not implemented, user must provide it */ |
| 44 # if !defined(SWIG_PYTHON_INITIALIZE_THREADS) |
| 45 # define SWIG_PYTHON_INITIALIZE_THREADS |
| 46 # endif |
| 47 # if !defined(SWIG_PYTHON_THREAD_BEGIN_BLOCK) |
| 48 # define SWIG_PYTHON_THREAD_BEGIN_BLOCK |
| 49 # endif |
| 50 # if !defined(SWIG_PYTHON_THREAD_END_BLOCK) |
| 51 # define SWIG_PYTHON_THREAD_END_BLOCK |
| 52 # endif |
| 53 # if !defined(SWIG_PYTHON_THREAD_BEGIN_ALLOW) |
| 54 # define SWIG_PYTHON_THREAD_BEGIN_ALLOW |
| 55 # endif |
| 56 # if !defined(SWIG_PYTHON_THREAD_END_ALLOW) |
| 57 # define SWIG_PYTHON_THREAD_END_ALLOW |
| 58 # endif |
| 59 # endif |
| 60 #else /* No thread support */ |
| 61 # define SWIG_PYTHON_INITIALIZE_THREADS |
| 62 # define SWIG_PYTHON_THREAD_BEGIN_BLOCK |
| 63 # define SWIG_PYTHON_THREAD_END_BLOCK |
| 64 # define SWIG_PYTHON_THREAD_BEGIN_ALLOW |
| 65 # define SWIG_PYTHON_THREAD_END_ALLOW |
| 66 #endif |
OLD | NEW |