Issue #19478: Make choice of semaphore prefix more flexible.

This commit is contained in:
Richard Oudkerk 2013-11-02 17:05:07 +00:00
parent 32dfef81a2
commit e943697750
2 changed files with 10 additions and 4 deletions

View File

@ -301,10 +301,16 @@ class _MainProcess(BaseProcess):
self._parent_pid = None
self._popen = None
self._config = {'authkey': AuthenticationString(os.urandom(32)),
'semprefix': 'mp'}
'semprefix': '/mp'}
# 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.
#
# 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()

View File

@ -115,8 +115,8 @@ class SemLock(object):
@staticmethod
def _make_name():
return '/%s-%s' % (process.current_process()._config['semprefix'],
next(SemLock._rand))
return '%s-%s' % (process.current_process()._config['semprefix'],
next(SemLock._rand))
#
# Semaphore