X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=bin%2FPortManager.py;h=8791bfc94c897ecdcd31e557760517a8122c7f22;hb=3454d640afacac24e1c958a60ba7b55ad9326584;hp=8e7a31d63056a41b705050451153fff008522239;hpb=5ed8495dd786c630ac19e885738e4cef03145714;p=modules%2Fkernel.git diff --git a/bin/PortManager.py b/bin/PortManager.py index 8e7a31d63..8791bfc94 100644 --- a/bin/PortManager.py +++ b/bin/PortManager.py @@ -1,6 +1,6 @@ #!/usr/bin/env python # -*- coding: iso-8859-1 -*- -# Copyright (C) 2007-2014 CEA/DEN, EDF R&D, OPEN CASCADE +# Copyright (C) 2007-2015 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 @@ -25,9 +25,9 @@ import os import sys try: - import cPickle as pickle + import cPickle as pickle #@UnusedImport except: - import pickle + import pickle #@Reimport import logging def createLogger(): @@ -71,7 +71,11 @@ def _getConfigurationFilename(): suffix="PortManager", extension="cfg", hidden=True) - lock_file = portmanager_config + "-lock" + import tempfile + temp = tempfile.NamedTemporaryFile() + lock_file = os.path.join(os.path.dirname(temp.name), ".omniORB_PortManager.lock") + temp.close() + return (portmanager_config, lock_file) # @@ -84,7 +88,7 @@ def __isNetworkConnectionActiveOnPort(port): # netstat options -l and -t are unavailable # grep command is unavailable from subprocess import Popen, PIPE - (stdout, stderr) = Popen(['netstat','-an'], stdout=PIPE).communicate() + stdout, _ = Popen(['netstat','-an'], stdout=PIPE).communicate() import StringIO buf = StringIO.StringIO(stdout) ports = buf.readlines() @@ -103,6 +107,7 @@ def getPort(preferedPort=None): logger.debug("GET PORT") config_file, lock_file = _getConfigurationFilename() + oldmask = os.umask(0) with open(lock_file, 'w') as lock: # acquire lock __acquire_lock(lock) @@ -143,9 +148,11 @@ def getPort(preferedPort=None): # release lock __release_lock(lock) + # - logger.debug("get port: %s"%str(port)) - return port + os.umask(oldmask) + logger.debug("get port: %s"%str(port)) + return port # def releasePort(port):