Salome HOME
ENV: Windows porting.
[modules/kernel.git] / bin / orbmodule.py
index bd8e73b7836539e3ac54315d09ccde09dd898c09..fdc254472e9a5fb5250001117863f42098337179 100755 (executable)
@@ -21,7 +21,13 @@ class Server:
 
 class NamingServer(Server):
    XTERM=""
-   CMD="runNS.sh > /tmp/salomeNS.log 2>&1"
+   USER=os.getenv('USER')
+   if USER is None:
+      USER='anonymous'
+   os.system("mkdir -m 777 -p /tmp/logs")
+   LOGDIR="/tmp/logs/" + USER
+   os.system("mkdir -m 777 -p " + LOGDIR)
+   CMD="runNS.sh > " + LOGDIR + "/salomeNS.log 2>&1"
 
 # -----------------------------------------------------------------------------
 
@@ -41,7 +47,7 @@ class client:
       try:
           self.rootContext = obj._narrow(CosNaming.NamingContext)
           return
-      except CORBA.COMM_FAILURE:
+      except (CORBA.TRANSIENT,CORBA.OBJECT_NOT_EXIST,CORBA.COMM_FAILURE):
           self.rootContext = None
           print "Lancement du Naming Service",
           
@@ -56,7 +62,7 @@ class client:
               obj = self.orb.resolve_initial_references("NameService")
               self.rootContext = obj._narrow(CosNaming.NamingContext)
               break
-          except (CORBA.COMM_FAILURE,CORBA.OBJECT_NOT_EXIST):
+          except (CORBA.TRANSIENT,CORBA.OBJECT_NOT_EXIST,CORBA.COMM_FAILURE):
               self.rootContext = None
               sys.stdout.write('+')
               sys.stdout.flush()
@@ -71,15 +77,16 @@ class client:
 
    def showNScontext(self,context,dec=''):
       bl,bi=context.list(0)
-      ok,b=bi.next_one()
-      while(ok):
-         for s in b.binding_name :
-            print "%s%s.%s" %(dec,s.id,s.kind)
-            if s.kind == "dir":
-               obj=context.resolve([s])
-               scontext = obj._narrow(CosNaming.NamingContext)
-               self.showNScontext(scontext,dec=dec+'  ')
+      if bi is not None:
          ok,b=bi.next_one()
+         while(ok):
+            for s in b.binding_name :
+               print "%s%s.%s" %(dec,s.id,s.kind)
+               if s.kind == "dir":
+                  obj=context.resolve([s])
+                  scontext = obj._narrow(CosNaming.NamingContext)
+                  self.showNScontext(scontext,dec=dec+'  ')
+            ok,b=bi.next_one()
 
    # --------------------------------------------------------------------------
 
@@ -106,15 +113,15 @@ class client:
           obj = None
       except CosNaming.NamingContext.CannotProceed, ex:
           obj = None
-      except CORBA.COMM_FAILURE, ex:
+      except (CORBA.TRANSIENT,CORBA.OBJECT_NOT_EXIST,CORBA.COMM_FAILURE):
           obj = None
       return obj
 
    # --------------------------------------------------------------------------
 
-   def waitNS(self,name,typobj=None,maxcount=70):
+   def waitNS(self,name,typobj=None,maxcount=60):
       count=0
-      delta=0.3
+      delta=0.5
       print "Searching %s in Naming Service " % name,
       while(1):
           count += 1
@@ -149,15 +156,15 @@ class client:
           obj = None
       except CosNaming.NamingContext.CannotProceed, ex:
           obj = None
-      except CORBA.COMM_FAILURE, ex:
+      except (CORBA.TRANSIENT,CORBA.OBJECT_NOT_EXIST,CORBA.COMM_FAILURE):
           obj = None
       return obj
    
    # --------------------------------------------------------------------------
 
-   def waitLogger(self,name,typobj=None,maxcount=10):
+   def waitLogger(self,name,typobj=None,maxcount=40):
       count=0
-      delta=0.3
+      delta=0.5
       print "Searching %s in Naming Service " % name,
       while(1):
           count += 1