mirror of https://github.com/python/cpython
Issue #19478: Make choice of semaphore prefix more flexible.
This commit is contained in:
parent
32dfef81a2
commit
e943697750
|
@ -301,10 +301,16 @@ class _MainProcess(BaseProcess):
|
||||||
self._parent_pid = None
|
self._parent_pid = None
|
||||||
self._popen = None
|
self._popen = None
|
||||||
self._config = {'authkey': AuthenticationString(os.urandom(32)),
|
self._config = {'authkey': AuthenticationString(os.urandom(32)),
|
||||||
'semprefix': 'mp'}
|
'semprefix': '/mp'}
|
||||||
# Note that some versions of FreeBSD only allow named
|
# Note that some versions of FreeBSD only allow named
|
||||||
# semaphores to have names of up to 14 characters. Therfore
|
# semaphores to have names of up to 14 characters. Therefore
|
||||||
# we choose a short prefix.
|
# we choose a short prefix.
|
||||||
|
#
|
||||||
|
# On MacOSX in a sandbox it may be necessary to use a
|
||||||
|
# different prefix -- see #19478.
|
||||||
|
#
|
||||||
|
# Everything in self._config will be inherited by descendant
|
||||||
|
# processes.
|
||||||
|
|
||||||
|
|
||||||
_current_process = _MainProcess()
|
_current_process = _MainProcess()
|
||||||
|
|
|
@ -115,8 +115,8 @@ class SemLock(object):
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def _make_name():
|
def _make_name():
|
||||||
return '/%s-%s' % (process.current_process()._config['semprefix'],
|
return '%s-%s' % (process.current_process()._config['semprefix'],
|
||||||
next(SemLock._rand))
|
next(SemLock._rand))
|
||||||
|
|
||||||
#
|
#
|
||||||
# Semaphore
|
# Semaphore
|
||||||
|
|
Loading…
Reference in New Issue