X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=bin%2FPortManager.py;h=d324bdebc4735bc13a51c005f599dc942b3f649f;hb=fb09c3943733e57f9ebc6b8b867d2575473bfb07;hp=518b4eed9bf78b3bd3b75a3c64fa260c3e625737;hpb=bec59e4d16028a65febfc4b899e3c917d36f72fe;p=modules%2Fkernel.git diff --git a/bin/PortManager.py b/bin/PortManager.py index 518b4eed9..d324bdebc 100644 --- a/bin/PortManager.py +++ b/bin/PortManager.py @@ -1,6 +1,6 @@ #!/usr/bin/env python # -*- coding: iso-8859-1 -*- -# Copyright (C) 2007-2015 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 @@ -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): @@ -165,6 +170,7 @@ def releasePort(port): logger.debug("RELEASE PORT (%s)"%port) config_file, lock_file = _getConfigurationFilename() + oldmask = os.umask(0) with open(lock_file, 'w') as lock: # acquire lock __acquire_lock(lock) @@ -199,10 +205,14 @@ def releasePort(port): __release_lock(lock) logger.debug("released port port: %s"%str(port)) + + os.umask(oldmask) # def getBusyPorts(): + busy_ports = [] config_file, lock_file = _getConfigurationFilename() + oldmask = os.umask(0) with open(lock_file, 'w') as lock: # acquire lock __acquire_lock(lock) @@ -222,5 +232,6 @@ def getBusyPorts(): # release lock __release_lock(lock) - return busy_ports + os.umask(oldmask) + return busy_ports #