mirror of https://github.com/python/cpython
Merge 3.4.
This commit is contained in:
commit
bd153de4a4
|
@ -64,7 +64,14 @@ def freeze_support():
|
|||
Run code for process object if this in not the main process
|
||||
'''
|
||||
if is_forking(sys.argv):
|
||||
main()
|
||||
kwds = {}
|
||||
for arg in sys.argv[2:]:
|
||||
name, value = arg.split('=')
|
||||
if value == 'None':
|
||||
kwds[name] = None
|
||||
else:
|
||||
kwds[name] = int(value)
|
||||
spawn_main(**kwds)
|
||||
sys.exit()
|
||||
|
||||
|
||||
|
@ -73,7 +80,8 @@ def get_command_line(**kwds):
|
|||
Returns prefix of command line used for spawning a child process
|
||||
'''
|
||||
if getattr(sys, 'frozen', False):
|
||||
return [sys.executable, '--multiprocessing-fork']
|
||||
tmp = ' '.join('%s=%r' % item for item in kwds.items())
|
||||
return [sys.executable, '--multiprocessing-fork'] + tmp
|
||||
else:
|
||||
prog = 'from multiprocessing.spawn import spawn_main; spawn_main(%s)'
|
||||
prog %= ', '.join('%s=%r' % item for item in kwds.items())
|
||||
|
|
|
@ -49,9 +49,10 @@ class SemLock(object):
|
|||
_rand = tempfile._RandomNameSequence()
|
||||
|
||||
def __init__(self, kind, value, maxvalue, *, ctx):
|
||||
ctx = ctx or get_context()
|
||||
ctx = ctx.get_context()
|
||||
unlink_now = sys.platform == 'win32' or ctx._name == 'fork'
|
||||
if ctx is None:
|
||||
ctx = context._default_context.get_context()
|
||||
name = ctx.get_start_method()
|
||||
unlink_now = sys.platform == 'win32' or name == 'fork'
|
||||
for i in range(100):
|
||||
try:
|
||||
sl = self._semlock = _multiprocessing.SemLock(
|
||||
|
|
|
@ -23,6 +23,8 @@ Core and Builtins
|
|||
Library
|
||||
-------
|
||||
|
||||
- Issue #20990: Fix issues found by pyflakes for multiprocessing.
|
||||
|
||||
- Issue #21015: SSL contexts will now automatically select an elliptic
|
||||
curve for ECDH key exchange on OpenSSL 1.0.2 and later, and otherwise
|
||||
default to "prime256v1".
|
||||
|
|
Loading…
Reference in New Issue