diff --git a/billiard/compat.py b/billiard/compat.py index b5ce7c7..20c93d5 100644 --- a/billiard/compat.py +++ b/billiard/compat.py @@ -3,6 +3,7 @@ from __future__ import absolute_import import errno import numbers import os +import subprocess import sys from .five import range, zip_longest @@ -224,9 +225,13 @@ else: args, [fsencode(path)], True, tuple(passfds), None, None, -1, -1, -1, -1, -1, -1, errpipe_read, errpipe_write, False, False] + if sys.version_info >= (3, 11): + args.append(-1) # process_group if sys.version_info >= (3, 9): args.extend((None, None, None, -1)) # group, extra_groups, user, umask args.append(None) # preexec_fn + if sys.version_info >= (3, 11): + args.append(subprocess._USE_VFORK) return _posixsubprocess.fork_exec(*args) finally: os.close(errpipe_read)