cpython/Python
Alexey Izbyshev c1e46e94de bpo-32777: Fix _Py_set_inheritable async-safety in subprocess (GH-5560)
Fix a rare but potential pre-exec child process deadlock in subprocess on POSIX systems when marking file descriptors inheritable on exec in the child process.  This bug appears to have been introduced in 3.4 with the inheritable file descriptors support.

This also changes Python/fileutils.c `set_inheritable` to use the "slow" two `fcntl` syscall path instead of the "fast" single `ioctl` syscall path when asked to be async signal safe (by way of being asked not to raise exceptions).  `ioctl` is not a POSIX async-signal-safe approved function.

ref: http://pubs.opengroup.org/onlinepubs/9699919799/functions/V2_chap02.html
2018-02-05 22:09:34 -08:00
..
clinic bpo-32436: Implement PEP 567 (#5027) 2018-01-22 19:11:18 -05:00
_warnings.c bpo-32591: fix abort in _PyErr_WarnUnawaitedCoroutine during shutdown (#5337) 2018-01-26 14:28:31 -05:00
asdl.c
ast.c Don't hide unexpected errors in PyErr_WarnExplicitObject(). (#4585) 2017-12-01 08:40:23 +02:00
ast_opt.c bpo-9566: Fix size_t=>int downcast warnings (#5230) 2018-01-18 11:15:25 +01:00
ast_unparse.c bpo-32711: Fix warnings for Python/ast_unparse.c (#5426) 2018-02-01 17:59:27 +01:00
bltinmodule.c bpo-32674: Improve the docstring for __import__ (GH-5339) 2018-02-01 23:20:00 -05:00
bootstrap_hash.c bpo-32329: Fix -R option for hash randomization (#4873) 2017-12-15 00:51:22 +01:00
ceval.c bpo-32550. Remove the STORE_ANNOTATION bytecode. (GH-5181) 2018-01-29 16:41:04 -08:00
ceval_gil.h
codecs.c bpo-32571: Avoid raising unneeded AttributeError and silencing it in C code (GH-5222) 2018-01-25 17:49:40 +09:00
compile.c bpo-32550. Remove the STORE_ANNOTATION bytecode. (GH-5181) 2018-01-29 16:41:04 -08:00
condvar.h
context.c bpo-32436: Use PyThreadState_GET() in all hot paths (GH-5363) 2018-01-27 13:24:20 -05:00
dtoa.c
dup2.c bpo-32150: Expand tabs to spaces in C files. (#4583) 2017-11-28 17:56:10 +02:00
dynamic_annotations.c bpo-32241: Add the const qualifire to declarations of umodifiable strings. (#4748) 2017-12-12 13:55:04 +02:00
dynload_aix.c
dynload_dl.c
dynload_hpux.c
dynload_shlib.c
dynload_stub.c
dynload_win.c
errors.c
fileutils.c bpo-32777: Fix _Py_set_inheritable async-safety in subprocess (GH-5560) 2018-02-05 22:09:34 -08:00
formatter_unicode.c bpo-31900: Fix localeconv() encoding for LC_NUMERIC (#4174) 2018-01-15 15:58:02 +01:00
frozen.c
frozenmain.c bpo-32241: Add the const qualifire to declarations of umodifiable strings. (#4748) 2017-12-12 13:55:04 +02:00
future.c bpo-32670: Enforce PEP 479. (#5327) 2018-01-26 15:24:24 -05:00
getargs.c bpo-32746: Fix multiple typos (GH-5144) 2018-02-03 19:36:10 -05:00
getcompiler.c
getcopyright.c advance copyright years to 2018 (#5094) 2018-01-04 22:34:19 -08:00
getopt.c move pygetopt.h to internal (closes bpo-32264) (#4830) 2017-12-14 23:48:12 -08:00
getplatform.c bpo-32150: Expand tabs to spaces in C files. (#4583) 2017-11-28 17:56:10 +02:00
getversion.c bpo-32150: Expand tabs to spaces in C files. (#4583) 2017-11-28 17:56:10 +02:00
graminit.c
hamt.c bpo-32436: Fix compiler warning (#5483) 2018-02-01 22:24:56 -05:00
import.c rename _imp initialization function to follow conventions (#5432) 2018-01-29 11:33:57 -08:00
importdl.c
importdl.h
importlib.h bpo-32303 - Consistency fixes for namespace loaders (#5481) 2018-02-02 15:15:58 -05:00
importlib_external.h bpo-32303 - Consistency fixes for namespace loaders (#5481) 2018-02-02 15:15:58 -05:00
makeopcodetargets.py
marshal.c
modsupport.c
mysnprintf.c
mystrtoul.c
opcode_targets.h bpo-32550. Remove the STORE_ANNOTATION bytecode. (GH-5181) 2018-01-29 16:41:04 -08:00
pathconfig.c bpo-9566: Fix size_t=>int downcast warnings (#5230) 2018-01-18 11:15:25 +01:00
peephole.c bpo-29469: peephole: Remove const_stack (GH-4879) 2017-12-18 15:52:54 +09:00
pyarena.c
pyctype.c
pyfpe.c bpo-29137: Remove fpectl module (#4789) 2018-01-05 23:15:34 -08:00
pyhash.c closes bpo-32460: ensure all non-static globals have initializers (#5061) 2017-12-31 10:04:13 -08:00
pylifecycle.c rename _imp initialization function to follow conventions (#5432) 2018-01-29 11:33:57 -08:00
pymath.c
pystate.c bpo-32604: Fix memory leaks in the new _xxsubinterpreters module. (#5507) 2018-02-02 21:49:49 -07:00
pystrcmp.c
pystrhex.c bpo-32150: Expand tabs to spaces in C files. (#4583) 2017-11-28 17:56:10 +02:00
pystrtod.c
Python-ast.c bpo-32571: Avoid raising unneeded AttributeError and silencing it in C code (GH-5222) 2018-01-25 17:49:40 +09:00
pythonrun.c closes bpo-31650: PEP 552 (Deterministic pycs) implementation (#4575) 2017-12-09 10:26:52 -08:00
pytime.c
README
strdup.c bpo-32150: Expand tabs to spaces in C files. (#4583) 2017-11-28 17:56:10 +02:00
structmember.c
symtable.c bpo-10544: Disallow "yield" in comprehensions and generator expressions. (GH-4564) 2018-02-04 10:53:48 +02:00
sysmodule.c bpo-32747: Remove trailing spaces in docstrings. (GH-5491) 2018-02-02 10:52:55 +02:00
thread.c bpo-32241: Add the const qualifire to declarations of umodifiable strings. (#4748) 2017-12-12 13:55:04 +02:00
thread_nt.h Fix typo in thread_nt.h code comment (GH-5211) 2018-01-17 15:21:01 -08:00
thread_pthread.h bpo-32593: Drop FreeBSD 9 and older support (#5232) 2018-01-22 18:32:50 +01:00
traceback.c bpo-30579: Allow TracebackType creation and tb_next mutation from Python (GH-4793) 2018-01-07 23:30:18 +10:00
wordcode_helpers.h

Miscellaneous source files for the main Python shared library