Salome HOME
Merge remote branch 'origin/V7_dev'
[modules/kernel.git] / bin / PortManager.py
index 999166106bffc0923c2fdc7760553b431d2b28b5..d324bdebc4735bc13a51c005f599dc942b3f649f 100644 (file)
@@ -44,7 +44,7 @@ def createLogger():
 logger = createLogger()
 
 #------------------------------------
-# A file locker (Linux only)
+# A file locker
 def __acquire_lock(lock):
   if sys.platform == "win32":
     import msvcrt
@@ -62,6 +62,7 @@ def __release_lock(lock):
     import fcntl
     fcntl.flock(lock, fcntl.LOCK_UN)
 #
+#------------------------------------
 
 def _getConfigurationFilename():
   omniorbUserPath = os.getenv("OMNIORB_USER_PATH")
@@ -89,7 +90,10 @@ def __isNetworkConnectionActiveOnPort(port):
   #        netstat options -l and -t are unavailable
   #        grep command is unavailable
   from subprocess import Popen, PIPE
-  stdout, _ = Popen(['netstat','-an'], stdout=PIPE).communicate()
+  if sys.platform == "win32":
+    stdout, _ = Popen(['netstat','-a','-n','-p tcp'], stdout=PIPE).communicate()
+  else:
+    stdout, _ = Popen(['netstat','-ant'], stdout=PIPE).communicate()
   import StringIO
   buf = StringIO.StringIO(stdout)
   ports = buf.readlines()
@@ -102,6 +106,7 @@ def __isNetworkConnectionActiveOnPort(port):
       if p == port: return True
     except:
       pass
+  return False
 #
 
 def getPort(preferedPort=None):
@@ -200,7 +205,7 @@ def releasePort(port):
     __release_lock(lock)
 
     logger.debug("released port port: %s"%str(port))
-  
+
   os.umask(oldmask)
 #