cpython/Lib
Miss Islington (bot) 612b535e6d
[3.13] gh-118981: multiprocessing.popen_spawn_posix, fix potential hang (gh-118982) (#138606)
gh-118981: multiprocessing.popen_spawn_posix, fix potential hang (gh-118982)

fix potential hang.

It can happen that the child crashes right in the beginning for whatever reason. In this case, the parent will hang when writing into the pipe, because the child fd is not closed yet.

The normal pattern is to close the child fds right after the child proc is forked/executed/spawned, so when the child dies, then also the pipes will be closed, and there will be no hang (the parent gets SIGPIPE instead).
(cherry picked from commit 8ed5a2b56c)

Co-authored-by: Albert Zeyer <albzey@gmail.com>
2025-09-07 07:41:54 +00:00
..
__phello__
_pyrepl [3.13] gh-134869: Fix Ctrl+C corrupts REPL autocomplete (GH-134929) (#137925) 2025-08-18 22:21:26 +01:00
asyncio [3.13] gh-137341: Remove more word duplications (GH-137342) (GH-137347) 2025-08-03 17:24:26 +00:00
collections [3.13] Fix outdated reference link in collections module (gh-130349) (gh-130386) 2025-02-21 00:22:05 +00:00
concurrent [3.13] gh-132969: Fix error/hang when shutdown(wait=False) and task exited abnormally (GH-133222) (GH-135343) 2025-06-16 14:08:03 +02:00
ctypes [3.13] gh-105733: Soft-deprecate ctypes.ARRAY, rather than hard-deprecating it. (GH-122281) (GH-122440) 2024-07-30 08:05:09 +00:00
curses
dbm [3.13] gh-135386: Fix "unable to open database file" errors on readonly DB (GH-135566) (GH-138057) 2025-08-22 11:35:21 +00:00
email [3.13] gh-134759: fix UnboundLocalError in email.message.Message.get_payload (GH-136071) (#136580) 2025-07-12 13:52:54 +00:00
encodings [3.13] gh-135069: Fix exception message in encodings.idna module (GH-135071) (#136236) 2025-07-03 10:31:43 +00:00
ensurepip [3.13] gh-137257: Upgrade bundled pip to 25.2 (GH-137258) (GH-137362) 2025-08-04 02:23:25 +00:00
html [3.13] gh-135661: Fix parsing unterminated bogus comments in HTMLParser (GH-137873) (GH-137875) 2025-08-17 10:59:24 +00:00
http [3.13] gh-133889: Only show the path of the URL in the SimpleHTTPRequestHandler page (GH-134135) (GH-134191) 2025-05-18 22:16:56 +03:00
idlelib [3.13] gh-95844: Move help_url code to a help module function (GH-129971) (#138485) 2025-09-03 21:49:29 +00:00
importlib [3.13] gh-123085: Fix issue in inferred caller when resource package has no source (GH-123102) (#124024) 2025-08-15 14:21:16 +00:00
json [3.13] gh-131884: Fix incorrect formatting in json.dumps() when using indent and skipkeys=True (GH-132200) (GH-135061) 2025-06-05 14:38:11 +00:00
logging [3.13] gh-91555: Revert disabling of logger while handling log record. (GH-135858) (GH-135911) 2025-06-25 19:24:55 +01:00
multiprocessing [3.13] gh-118981: multiprocessing.popen_spawn_posix, fix potential hang (gh-118982) (#138606) 2025-09-07 07:41:54 +00:00
pathlib [3.13] GH-125069: Fix inconsistent joining in WindowsPath(PosixPath(...)) (GH-125156) (#125409) 2024-10-13 18:12:57 +00:00
pydoc_data Python 3.13.7 2025-08-14 13:12:11 +02:00
re [3.13] gh-126505: Fix bugs in compiling case-insensitive character classes (GH-126557) (GH-126689) 2024-11-11 16:54:57 +00:00
site-packages
sqlite3 [3.13] gh-133439: Fix dot commands with trailing spaces are mistaken for multi-line sqlite statements in the sqlite3 command-line interface (GH-133440) (GH-133765) 2025-06-13 20:40:24 +03:00
sysconfig [3.13] GH-92897: schedule the check_home deprecation to 3.15 (GH-129102) (#130583) 2025-02-27 18:16:33 +00:00
test [3.13] gh-138010: Fix __init_subclass__ forwarding by warnings.deprecated (GH-138210) (#138564) 2025-09-05 14:21:19 -07:00
tkinter [3.13] gh-126008: Improve docstrings for Tkinter cget and configure methods (GH-133303) (GH-137661) 2025-08-12 05:17:24 +00:00
tomllib [3.13] gh-133117: Enable stricter mypy checks for tomllib (GH-133206) (#133343) 2025-05-03 14:20:34 +00:00
turtledemo [3.13] gh-128062: Fix the font size and shortcut display of the turtledemo menu (GH-128063) (#128101) 2024-12-19 20:47:24 +00:00
unittest [3.13] gh-124234: Improve docs for Mock.reset_mock (GH-124237) (#130408) 2025-02-21 14:58:08 +00:00
urllib [3.13] gh-88375, gh-111788: Fix parsing errors and normalization in robotparser (GH-138502) (GH-138549) 2025-09-05 20:21:02 +00:00
venv [3.13] gh-124651: Quote template strings in venv activation scripts (GH-124712) (GH-125813) 2024-10-22 16:49:20 +01:00
wsgiref gh-111768: Add wsgiref.util.is_hop_by_hop to __all__ (#111770) 2023-11-08 15:29:47 +00:00
xml [3.13] gh-135640: Adds more type checking to ElementTree (GH-135643) (GH-136226) 2025-07-03 08:12:21 +00:00
xmlrpc
zipfile [3.13] gh-135276: Refresh zipfile.Path from zipp 3.23 (GH-135277) (#135279) 2025-06-08 17:56:35 -04:00
zoneinfo [3.13] gh-137754: Fix import of zoneinfo if _datetime is not available (GH-137845) (GH-138085) 2025-08-23 09:33:58 +00:00
__future__.py
__hello__.py
_aix_support.py
_android_support.py [3.13] Fix typo in Lib/_android_support.py (GH-127699) (#127703) 2024-12-06 18:14:12 +00:00
_apple_support.py [3.13] gh-126925: Modify how iOS test results are gathered (GH-127592) (#127754) 2024-12-09 14:39:11 +08:00
_collections_abc.py [3.13] gh-116938: Clarify documentation of dict and dict.update regarding the positional argument they accept (GH-125213) (#125336) 2024-10-11 23:29:01 +00:00
_colorize.py [3.13] gh-131507: Clean up tests and type checking for _pyrepl (GH-131509) (GH-131546) 2025-03-21 17:25:45 +01:00
_compat_pickle.py
_compression.py
_ios_support.py [3.13] gh-119253: use ImportError in _ios_support (GH-119254) (#119265) 2024-05-20 22:21:28 +00:00
_markupbase.py
_opcode_metadata.py GH-118095: Use broader specializations of CALL in tier 1, for better tier 2 support of calls. (GH-118322) 2024-05-04 12:11:11 +01:00
_osx_support.py gh-102362: Fix macOS version number in result of sysconfig.get_platform() (GH-112942) 2023-12-18 18:51:58 -05:00
_py_abc.py
_pydatetime.py [3.13] gh-135956: Remove duplicate word in _pydatetime docstring (GH-135957) (#135963) 2025-06-26 04:08:17 +00:00
_pydecimal.py [3.13] gh-130664: support '_' (just as ',') in Decimal's formatting (GH-132155) (#136649) 2025-07-14 14:01:49 +02:00
_pyio.py [3.13] gh-62184: Remove _pyio import of _io.FileIO (gh-134192) (gh-134436) 2025-05-21 17:55:55 +02:00
_pylong.py gh-118610: Centralize power caching in _pylong.py (#118611) 2024-05-07 19:09:09 -05:00
_sitebuiltins.py
_strptime.py [3.13] gh-136028: Fix parsing month names containing "ฤฐ" (U+0130) in strptime() (GH-136029) (GH-136038) 2025-06-27 14:10:51 +00:00
_threading_local.py [3.13] gh-107006: Move threading.local docstring to docs (GH-131840) (#133432) 2025-05-05 16:18:00 +03:00
_weakrefset.py
abc.py
antigravity.py
argparse.py [3.13] gh-134109: Fix showing comments in pydoc output for argparse (GH-134110) (GH-134113) 2025-05-16 20:52:42 +00:00
ast.py [3.13] gh-134718: Fix ast.dump() for empty non-default values (GH-134926) (GH-134936) 2025-05-30 15:48:48 +00:00
base64.py [3.13] Clarify base64.a85encode docs: *wrapcols* doesn't count the newline (GH-119409) (GH-119483) 2024-05-28 16:55:37 +02:00
bdb.py [3.13] gh-128991: Release the enter frame reference within bdb callbaโ€ฆ (#129002) 2025-01-18 17:21:23 -05:00
bisect.py
bz2.py gh-115961: Add name and mode attributes for compressed file-like objects (GH-116036) 2024-04-21 11:46:39 +03:00
calendar.py [3.13] gh-126476: Raise IllegalMonthError for calendar.formatmonth() when the input month is not correct (GH-126484) (GH-126879) 2024-11-15 15:20:25 -08:00
cmd.py gh-52161: Enhance Cmd support for docstrings (#110987) 2024-01-03 19:37:34 +00:00
code.py [3.13] gh-125666: Avoid PyREPL exiting when a null byte is in input (GH-125732) (#126023) 2024-12-02 15:04:51 +01:00
codecs.py [3.13] gh-52876: Implement missing parameter in codecs.StreamReaderWriter functions (GH-136498) (#136515) 2025-07-10 18:06:34 +02:00
codeop.py [3.13] gh-124960: Fixed barry_as_FLUFL future flag does not work in new REPL (#124999) (#125475) 2024-10-14 20:00:45 +02:00
colorsys.py [3.13] gh-121905: Consistently use "floating-point" instead of "floating point" (GH-121907) (GH-122012) 2024-07-19 09:13:08 +00:00
compileall.py gh-117205: Increase chunksize when compiling pyc in parallel (#117206) 2024-04-03 15:24:24 -07:00
configparser.py [3.13] gh-130941: Fix configparser parsing values with allow_no_value and interpolation set (GH-130949) (#132588) 2025-04-16 14:19:46 +02:00
contextlib.py gh-103791: handle BaseExceptionGroup in contextlib.suppress() (#111910) 2023-11-10 13:32:36 +00:00
contextvars.py [3.13] gh-126451: Revert backports of ABC registrations for contextvars.Context and multiprocessing proxies (#126734) 2024-11-12 12:29:13 +00:00
copy.py [3.13] gh-121300: Add replace to copy.__all__ (GH-121302) (#121337) 2024-07-03 15:28:57 +00:00
copyreg.py
cProfile.py gh-69990: Make Profile.print_stats support sorting by multiple values (GH-104590) 2024-02-16 12:03:46 +00:00
csv.py [3.13] gh-121905: Consistently use "floating-point" instead of "floating point" (GH-121907) (GH-122012) 2024-07-19 09:13:08 +00:00
dataclasses.py [3.13] gh-123935: Fix typo in _get_slots in dataclasses.py (GH-123941) (#123991) 2024-12-03 17:17:25 +01:00
datetime.py
decimal.py [3.13] gh-123339: Fix cases of inconsistency of __module__ and __firstlineno__ in classes (GH-123613) (#124735) 2024-09-29 21:21:40 -07:00
difflib.py [3.13] gh-128051: Fix tests if sys.float_repr_style is 'legacy' (#135908) (#136026) 2025-06-30 11:40:06 +02:00
dis.py [3.13] gh-127637: add tests for dis command-line interface (#127759) (#127781) 2024-12-10 12:32:32 +00:00
doctest.py [3.13] gh-136914: Fix support of cached functions and properties in DocTest's lineno computation (GH-136930) (GH-137615) 2025-08-10 20:05:28 +00:00
enum.py [3.13] gh-136764: improve comment in enum.verify.__call__ (GH-136774) (GH-136842) 2025-07-19 12:01:42 -07:00
filecmp.py [3.13] gh-122400: Handle ValueError in filecmp (GH-122401) (GH-122441) 2024-07-30 09:17:35 +00:00
fileinput.py Use bool in fileinput.input() docstring and tests for the inplace argument (GH-111998) 2024-01-27 23:47:55 +02:00
fnmatch.py GH-72904: Add glob.translate() function (#106703) 2023-11-13 17:15:56 +00:00
fractions.py [3.13] gh-130664: Treat '0' fill character with align '=' as zero-padding for Fraction's (GH-131067) (GH-136242) 2025-07-03 11:20:49 +00:00
ftplib.py gh-114241: Fix and improve the ftplib CLI (GH-114242) 2024-01-21 22:16:45 +02:00
functools.py [3.13] gh-127750: Fix functools.singledispatchmethod() (GH-130029) 2025-02-17 11:12:24 +02:00
genericpath.py [3.13] gh-135034: Normalize link targets in tarfile, add os.path.realpath(strict='allow_missing') (GH-135037) (GH-135064) 2025-06-03 15:59:54 +02:00
getopt.py
getpass.py gh-76912: Raise OSError from any failure in getpass.getuser() (#29739) 2023-11-27 10:05:55 -08:00
gettext.py gh-88434: Emit deprecation warnings for non-integer numbers in gettext if translation not found (GH-110574) 2023-10-14 09:07:02 +03:00
glob.py [3.13] GH-119169: Implement pathlib.Path.walk() using os.walk() (GH-119573) (#119750) 2024-05-29 21:24:42 +00:00
graphlib.py [3.13] gh-129892: Doc: Remove unnecessary role directive in graphlib.py (GH-129896) (#129904) 2025-02-09 15:47:10 +00:00
gzip.py [3.13] gh-131492, gh-131461: handle exceptions in GzipFile constructor while owning resources (GH-131462) (#131518) 2025-03-21 11:20:52 +01:00
hashlib.py [3.13] gh-134696: align OpenSSL and HACL*-based hash functions constructors AC signatures (GH-134713) (#134962) 2025-06-01 10:27:02 +02:00
heapq.py
hmac.py gh-112999: Replace the outdated "deprecated" directives with "versionchanged" (GH-113000) 2023-12-12 18:31:04 +02:00
imaplib.py [3.13] gh-136134: imaplib: fix CRAM-MD5 on FIPS-only environments (GH-136615) (#138055) 2025-08-23 13:01:36 +02:00
inspect.py [3.13] gh-137317: Fix inspect.signature() for class with wrapped __init__ or __new__ (GH-137862) (GH-138225) 2025-08-28 16:10:06 +00:00
io.py gh-111356: io: Add missing documented objects to io.__all__ (#111370) 2023-11-10 16:18:52 +09:00
ipaddress.py [3.13] gh-128840: Fix parsing long IPv6 addresses with embedded IPv4 address (GH-134836) (#134846) 2025-05-28 15:46:40 +00:00
keyword.py
linecache.py [3.13] gh-117174: Fix reference leak and gdb tests (GH-131095) (#131120) 2025-03-11 23:43:07 +00:00
locale.py [3.13] gh-133967: Do not normalize locale name 'C.UTF-8' to 'en_US.UTF-8' (GH-135347) (GH-135350) 2025-06-11 12:43:38 +03:00
lzma.py gh-115961: Add name and mode attributes for compressed file-like objects (GH-116036) 2024-04-21 11:46:39 +03:00
mailbox.py gh-117467: Add preserving of mailbox owner on flush (GH-117510) 2024-04-04 13:32:53 +03:00
mimetypes.py gh-128703: Fix mimetypes.guess_type for empty Content-Type in registry (GH-128854) 2025-02-17 15:36:49 +00:00
modulefinder.py gh-114099 - Add iOS framework loading machinery. (GH-116454) 2024-03-19 08:36:19 -04:00
netrc.py [3.13] gh-135815: skip netrc security checks if os.getuid is missing (GH-135816) (#135826) 2025-06-22 20:12:20 +00:00
ntpath.py [3.13] gh-135034: Normalize link targets in tarfile, add os.path.realpath(strict='allow_missing') (GH-135037) (GH-135064) 2025-06-03 15:59:54 +02:00
nturl2path.py [3.13] GH-127078: url2pathname(): handle extra slash before UNC drive in URL path (GH-127132) (#127135) 2024-11-22 04:37:30 +00:00
numbers.py [3.13] gh-122450: Expand documentation for `Rational and Fraction` (#136800) (#137367) 2025-08-05 14:54:31 +01:00
opcode.py gh-116381: Specialize CONTAINS_OP (GH-116385) 2024-03-07 03:30:11 +08:00
operator.py gh-118285: Fix signatures of operator.{attrgetter,itemgetter,methodcaller} instances (GH-118316) 2024-04-29 19:30:48 +03:00
optparse.py
os.py [3.13] gh-136087: Remove \r from documented os.linesep values (GH-136088) (#136112) 2025-06-30 10:44:38 +03:00
pdb.py [3.13] gh-58956: Fix a frame refleak in bdb (GH-128190) (#128947) 2025-01-17 12:49:15 -05:00
pickle.py [3.13] gh-126489: Do not call persistent_id() for a persistent id in Python pickle (GH-126490) (GH-126514) 2024-11-06 22:54:48 +02:00
pickletools.py [3.13] gh-126997: Fix support of non-ASCII strings in pickletools (GH-127062) (GH-127094) 2024-11-21 11:40:52 +00:00
pkgutil.py
platform.py gh-127732: Add Windows Server 2025 detection to platform module (GH-127733) 2024-12-09 12:50:34 +00:00
plistlib.py gh-111803: Support loading more deeply nested lists in binary plist format (GH-114024) 2024-01-13 15:26:55 +02:00
poplib.py [3.13] gh-130637: Add validation for numeric response data in stat() method (GH-130646) (#130763) 2025-03-02 20:28:56 +00:00
posixpath.py [3.13] gh-135034: Normalize link targets in tarfile, add os.path.realpath(strict='allow_missing') (GH-135037) (GH-135064) 2025-06-03 15:59:54 +02:00
pprint.py [pprint]: Add docstring about PrettyPrinter.underscore_numbers parameter (#112963) 2023-12-13 12:04:17 +00:00
profile.py gh-69990: Make Profile.print_stats support sorting by multiple values (GH-104590) 2024-02-16 12:03:46 +00:00
pstats.py [3.13] gh-121905: Consistently use "floating-point" instead of "floating point" (GH-121907) (GH-122012) 2024-07-19 09:13:08 +00:00
pty.py
py_compile.py
pyclbr.py
pydoc.py [3.13] gh-125225: Fix column misalignment in help('topics') output (gh-125226) (#134226) 2025-05-19 17:34:31 +02:00
queue.py [3.13] Fix Queue.shutdown docs for condition to unblock a join (gh-137088) (gh-137102) 2025-07-25 08:48:28 -06:00
quopri.py
random.py [3.13] gh-130285: Fix handling of zero or empty counts in random.sample() (gh-130291) (gh-130416) 2025-02-21 17:56:51 +00:00
reprlib.py [3.13] gh-135487: fix reprlib.Repr.repr_int when given very large integers (GH-135506) (#135886) 2025-06-24 12:00:14 +00:00
rlcompleter.py [3.13] gh-113978: Ignore warnings on text completion inside REPL (GH-113979) (#119429) 2024-05-22 23:13:32 +02:00
runpy.py gh-99437: runpy: decode path-like objects before setting globals 2024-01-15 16:58:50 +00:00
sched.py [3.13] gh-121905: Consistently use "floating-point" instead of "floating point" (GH-121907) (GH-122012) 2024-07-19 09:13:08 +00:00
secrets.py
selectors.py gh-110038: KqueueSelector must count all read/write events (#110039) 2023-09-28 17:25:10 +00:00
shelve.py
shlex.py
shutil.py [3.13] gh-127001: Fix PATHEXT issues in shutil.which() on Windows (GH-127035) (GH-127156) 2024-11-22 16:18:44 +00:00
signal.py gh-112559: Avoid unnecessary conversion attempts to enum_klass in signal.py (#113040) 2023-12-23 17:07:52 -08:00
site.py [3.13] gh-128066: Properly handle history file writes for RO fs on PyREPL (gh-134380) (gh-134386) 2025-05-20 22:15:43 +02:00
smtplib.py [3.13] gh-136134: smtplib: fix CRAM-MD5 on FIPS-only environments (GH-136623) (#138087) 2025-08-23 14:27:47 +02:00
socket.py [3.13] gh-128916: Do not set SO_REUSEPORT on non-AF_INET* sockets (GH-128933) (#128969) 2025-01-18 03:45:42 +00:00
socketserver.py [3.13] gh-128916: Do not set SO_REUSEPORT on non-AF_INET* sockets (GH-128933) (#128969) 2025-01-18 03:45:42 +00:00
sre_compile.py
sre_constants.py
sre_parse.py
ssl.py [3.13] gh-79846: Make ssl.create_default_context() ignore invalid certificates (GH-91740) (#122768) 2024-09-02 12:53:59 +02:00
stat.py [3.13] gh-120417: Remove unused imports in the stdlib (GH-120420) (#120429) 2024-06-12 19:27:32 +00:00
statistics.py [3.13] gh-121905: Consistently use "floating-point" instead of "floating point" (GH-121907) (GH-122012) 2024-07-19 09:13:08 +00:00
string.py
stringprep.py
struct.py
subprocess.py [3.13] gh-133089: Use original timeout value for TimeoutExpired when the func subprocess.run is called with a timeout (GH-133103) (#133418) 2025-05-05 01:38:30 +00:00
symtable.py [3.13] gh-119698: fix a special case in symtable.Class.get_methods (GH-121802) (#121909) 2024-07-17 13:54:40 +00:00
tabnanny.py [3.13] gh-120495: Fix incorrect exception handling in Tab Nanny (GH-120498) (#120548) 2024-06-15 11:28:28 +00:00
tarfile.py [3.13] gh-81325: Support path-like objects with streaming TarFile (GH-137188) (#137366) 2025-08-05 22:17:12 +01:00
tempfile.py [3.13] gh-132124: improve safety nets for creating AF_UNIX socket files (GH-134085) (#134448) 2025-08-04 07:38:49 -07:00
textwrap.py
this.py
threading.py [3.13] gh-130522: Fix unraisable TypeError in threading at interpreter shutdown (GH-131537) (GH-137106) 2025-07-25 15:14:27 +00:00
timeit.py
token.py [3.13] gh-127303: Add docs for token.EXACT_TOKEN_TYPES (GH-127304) (#127390) 2024-11-30 08:13:13 +00:00
tokenize.py [3.13] gh-125553: Fix backslash continuation in untokenize (GH-126010) (#129153) 2025-01-21 21:04:55 +00:00
trace.py [3.13] gh-103956: Fix trace output in case of missing source line (GH-103958) (GH-118834) 2024-05-09 13:05:37 +00:00
traceback.py [3.13] gh-137576: Fix for Basic REPL showing incorrect code in tracebacks with PYTHONSTARTUP (GH-137625) (#137778) 2025-08-15 12:10:39 +03:00
tracemalloc.py
tty.py gh-114328: tty cbreak mode should not alter ICRNL (#114335) 2024-01-21 15:25:52 -08:00
turtle.py [3.13] Fix print usage in turtle doctests (GH-122940) (#122977) 2024-08-13 17:03:36 +00:00
types.py gh-109599: Add types.CapsuleType (#109600) 2023-09-25 19:50:39 +02:00
typing.py [3.13] gh-88834: Unify the instance check for typing.Union and types.UnionType (GH-128363) (GH-128370) 2024-12-31 18:45:03 +00:00
uuid.py [3.13] gh-135244: generate UUID random Node ID with a CSPRNG as per RFC 9562, ยง6.10.3 (GH-135226) (#137408) 2025-08-05 09:01:07 +00:00
warnings.py [3.13] gh-138010: Fix __init_subclass__ forwarding by warnings.deprecated (GH-138210) (#138564) 2025-09-05 14:21:19 -07:00
wave.py [3.13] gh-136523: Fix wave.Wave_write emitting an unraisable when open raises (GH-136529) (GH-136607) 2025-07-13 06:13:01 +00:00
weakref.py
webbrowser.py [3.13] gh-108172: do not override OS preferred browser if it is a super-string of a known browser (GH-113011) (#123527) 2024-09-02 13:18:27 +02:00
zipapp.py [3.13] gh-130379: Fix incorrect zipapp logic to avoid including the target in itself (gh-130509) (gh-130791) 2025-03-03 15:20:05 +00:00
zipimport.py [3.13] gh-121735: Fix module-adjacent references in zip files (GH-123037) (#123986) 2024-09-29 18:17:16 -07:00