Salome HOME
[PortManager] Separate ports according to their owner (this or other application)
[modules/yacs.git] / src / Container / Container_init_python.hxx
index 0b9651651c70bed7727efc82f74e8d99da4f6295..75e484524af5579de6d8b694dafa25f0c504bc94 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2014  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
 //
 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
 
 
 #define Py_ACQUIRE_NEW_THREAD \
-  PyEval_AcquireLock(); \
-  PyThreadState *myTstate = PyThreadState_New(KERNEL_PYTHON::_interp); \
-  PyThreadState_Swap(myTstate);
+  PyGILState_STATE gil_state = PyGILState_Ensure();
 
 #define Py_RELEASE_NEW_THREAD \
-  PyEval_ReleaseThread(myTstate); \
-  PyThreadState_Delete(myTstate);
+  PyGILState_Release(gil_state);
 
 struct CONTAINER_EXPORT KERNEL_PYTHON
 {
-#ifdef WIN32
-  static PyThreadState *get_gtstate() { return KERNEL_PYTHON::_gtstate; }
-  static PyObject *getsalome_shared_modules_module() { return KERNEL_PYTHON::salome_shared_modules_module; }
-  static PyInterpreterState *get_interp() { return KERNEL_PYTHON::_interp; }
-#endif
-  static PyThreadState *_gtstate;
-  static PyObject *salome_shared_modules_module;
-  static PyInterpreterState *_interp;
-
   static void init_python(int argc, char **argv);
-
 };
 
 #endif