From 0ff9912f761b59561dc9dbe2577f27f862bf01b3 Mon Sep 17 00:00:00 2001 From: prascle Date: Wed, 16 Nov 2005 14:48:14 +0000 Subject: [PATCH] PR: merge from branch BR_OCC_For_3_1_0a3 tag mergeto_trunk_16nov05 --- bin/launchConfigureParser.py | 2 +- bin/orbmodule.py | 30 +++++++++++++++++++++++ bin/runSalome.py | 17 +++++++------ salome_adm/unix/config_files/check_cas.m4 | 9 +++++-- 4 files changed, 48 insertions(+), 10 deletions(-) diff --git a/bin/launchConfigureParser.py b/bin/launchConfigureParser.py index fa814742d..0de312b04 100755 --- a/bin/launchConfigureParser.py +++ b/bin/launchConfigureParser.py @@ -161,7 +161,7 @@ class xml_parser: config_var = appname+'Config' dirs = os.environ[config_var] -dirs = dirs.split( ';' ) +dirs = re.split('[;|:]', dirs ) dirs.reverse() # reverse order, like in "path" variable - FILO-style processing _opts = {} # assiciative array of options to be filled diff --git a/bin/orbmodule.py b/bin/orbmodule.py index fdc254472..9dfad8a2c 100755 --- a/bin/orbmodule.py +++ b/bin/orbmodule.py @@ -141,6 +141,36 @@ class client: if nobj is None: print "%s exists but is not a %s" % (name,typobj) return nobj + def waitNSPID(self, theName, thePID, theTypObj = None): + aCount = 0 + aDelta = 0.5 + anObj = None + print "Searching %s in Naming Service " % theName, + while(1): + try: + aPid, aStatus = os.waitpid(thePID,os.WNOHANG) + except Exception, exc: + raise "Impossible de trouver %s" % theName + aCount += 1 + anObj = self.Resolve(theName) + if anObj: + print " found in %s seconds " % ((aCount-1)*aDelta) + break + else: + sys.stdout.write('+') + sys.stdout.flush() + time.sleep(aDelta) + pass + pass + + if theTypObj is None: + return anObj + + anObject = anObj._narrow(theTypObj) + if anObject is None: + print "%s exists but is not a %s" % (theName,theTypObj) + return anObject + # -------------------------------------------------------------------------- diff --git a/bin/runSalome.py b/bin/runSalome.py index 311dc45ed..94e17db92 100755 --- a/bin/runSalome.py +++ b/bin/runSalome.py @@ -256,6 +256,7 @@ class Server: """Generic class for CORBA server launch""" def initArgs(self): + self.PID=None self.CMD=[] self.ARGS=[] if self.args['xterm']: @@ -278,6 +279,7 @@ class Server: print "command = ", command pid = os.spawnvp(os.P_NOWAIT, command[0], command) process_id[pid]=self.CMD + self.PID = pid class InterpServer(Server): @@ -293,6 +295,7 @@ class InterpServer(Server): #print "command = ", command pid = os.spawnvp(os.P_NOWAIT, command[0], command) process_id[pid]=self.CMD + self.PID = pid # --- @@ -526,7 +529,7 @@ def startSalome(args, modules_list, modules_root_dir): if 'registry' not in args['embedded']: myServer=RegistryServer(args) myServer.run() - clt.waitNS("/Registry") + clt.waitNSPID("/Registry",myServer.PID) # # Lancement Catalog Server, @@ -539,7 +542,7 @@ def startSalome(args, modules_list, modules_root_dir): cataServer.setpath(modules_list,modules_root_dir) cataServer.run() import SALOME_ModuleCatalog - clt.waitNS("/Kernel/ModulCatalog",SALOME_ModuleCatalog.ModuleCatalog) + clt.waitNSPID("/Kernel/ModulCatalog",cataServer.PID,SALOME_ModuleCatalog.ModuleCatalog) # # Lancement SalomeDS Server, @@ -551,7 +554,7 @@ def startSalome(args, modules_list, modules_root_dir): print "RunStudy" myServer=SalomeDSServer(args) myServer.run() - clt.waitNS("/myStudyManager") + clt.waitNSPID("/myStudyManager",myServer.PID) # # Lancement ContainerManagerServer @@ -580,7 +583,7 @@ def startSalome(args, modules_list, modules_root_dir): if 'cppContainer' in args['standalone']: myServer=ContainerCPPServer(args) myServer.run() - clt.waitNS("/Containers/" + theComputer + "/FactoryServer") + clt.waitNSPID("/Containers/" + theComputer + "/FactoryServer",myServer.PID) # # Lancement Container Python local, @@ -591,7 +594,7 @@ def startSalome(args, modules_list, modules_root_dir): if 'pyContainer' in args['standalone']: myServer=ContainerPYServer(args) myServer.run() - clt.waitNS("/Containers/" + theComputer + "/FactoryServerPy") + clt.waitNSPID("/Containers/" + theComputer + "/FactoryServerPy",myServer.PID) # # Lancement Container Supervision local, @@ -602,7 +605,7 @@ def startSalome(args, modules_list, modules_root_dir): if 'supervContainer' in args['standalone']: myServer=ContainerSUPERVServer(args) myServer.run() - clt.waitNS("/Containers/" + theComputer + "/SuperVisionContainer") + clt.waitNSPID("/Containers/" + theComputer + "/SuperVisionContainer",myServer.PID) # # Lancement Session Server @@ -617,7 +620,7 @@ def startSalome(args, modules_list, modules_root_dir): import SALOME import SALOME_Session_idl - session=clt.waitNS("/Kernel/Session",SALOME.Session) + session=clt.waitNSPID("/Kernel/Session",mySessionServ.PID,SALOME.Session) end_time = os.times() print diff --git a/salome_adm/unix/config_files/check_cas.m4 b/salome_adm/unix/config_files/check_cas.m4 index 345b13f48..0d1eb1653 100644 --- a/salome_adm/unix/config_files/check_cas.m4 +++ b/salome_adm/unix/config_files/check_cas.m4 @@ -217,8 +217,13 @@ else CAS_KERNEL="$CAS_LDPATH -lTKernel" CAS_MATH="$CAS_LDPATH -lTKMath" - CAS_OCAF="$CAS_LDPATH -lTKernel -lTKCDF -lTKLCAF" - CAS_OCAFVIS="$CAS_LDPATH -lTKCAF -lStdPlugin" + if test -f $CASROOT/$casdir/lib/libStdPlugin.so ; then + # this libraries are only for CASCADE 5.2.3 + CAS_STDPLUGIN="StdPlugin" + fi + + CAS_OCAF="$CAS_LDPATH -lPTKernel -lTKernel -lTKCDF -lTKLCAF -lTKPCAF -lTKStdSchema" + CAS_OCAFVIS="$CAS_LDPATH -lTKCAF -lStdPlugin -lStdLPlugin -lTKPLCAF -lTKPShape -lTKStdLSchema -lTKShapeSchema" CAS_TKV3d="$CAS_LDPATH -lTKV3d" CAS_VIEWER="$CAS_TKV3d -lTKService" -- 2.39.2