Salome HOME
Merge branch 'omu/py2yacsgui'
[modules/yacs.git] / src / evalyfx / YACSEvalSession.cxx
index f89f076c0351bc2b22dc526227f5ea2a44a10e71..d08aa9c49db0d7846cfd9ce12a87a721468b7ce4 100644 (file)
@@ -34,15 +34,10 @@ const char YACSEvalSession::CORBA_CONFIG_ENV_VAR_NAME[]="OMNIORB_CONFIG";
 
 const char YACSEvalSession::NSPORT_VAR_NAME[]="NSPORT";
 
-YACSEvalSession::YACSEvalSession():_isAttached(false),_isLaunched(false),_port(-1),_salomeInstanceModule(0),_salomeInstance(0),_internal(new YACSEvalSessionInternal)
+YACSEvalSession::YACSEvalSession():_isAttached(false),_isLaunched(false),_isForcedPyThreadSaved(false),_port(-1),_salomeInstanceModule(0),_salomeInstance(0),_internal(new YACSEvalSessionInternal)
 {
-  if(!Py_IsInitialized())
-    Py_Initialize();
-  //
-  {
-    YACS::ENGINE::AutoGIL gal;
-    _salomeInstanceModule=PyImport_ImportModule(const_cast<char *>("salome_instance"));
-  }
+  YACS::ENGINE::AutoGIL gal;
+  _salomeInstanceModule=PyImport_ImportModule(const_cast<char *>("salome_instance"));
 }
 
 YACSEvalSession::~YACSEvalSession()
@@ -88,6 +83,11 @@ void YACSEvalSession::launchUsingCurrentSession()
   _isAttached=true; _isLaunched=true;
 }
 
+bool YACSEvalSession::isAlreadyPyThreadSaved() const
+{
+  return _isForcedPyThreadSaved;
+}
+
 void YACSEvalSession::checkLaunched() const
 {
   if(!isLaunched())