cpython/Python
Victor Stinner 5a3a71dddb
bpo-40010: Optimize signal handling in multithreaded applications (GH-19067)
If a thread different than the main thread gets a signal, the
bytecode evaluation loop is no longer interrupted at each bytecode
instruction to check for pending signals which cannot be handled.
Only the main thread of the main interpreter can handle signals.

Previously, the bytecode evaluation loop was interrupted at each
instruction until the main thread handles signals.

Changes:

* COMPUTE_EVAL_BREAKER() and SIGNAL_PENDING_SIGNALS() no longer set
  eval_breaker to 1 if the current thread cannot handle signals.
* take_gil() now always recomputes eval_breaker.
2020-03-19 17:40:12 +01:00
..
clinic bpo-39489: Remove COUNT_ALLOCS special build (GH-18259) 2020-02-03 15:17:15 +01:00
Python-ast.c bpo-39988: Remove ast.AugLoad and ast.AugStore node classes. (GH-19038) 2020-03-17 23:41:08 +02:00
README
_warnings.c bpo-39585: Delete a pending comment in _warning.c (GH-18414) 2020-03-14 15:40:58 +02:00
asdl.c
ast.c bpo-40000: Improve error messages when validating invalid ast.Constant nodes (GH-19055) 2020-03-19 11:32:28 +00:00
ast_opt.c bpo-39220: Do not optimise annotation if 'from __future__ import annotations' is used (GH-17866) 2020-03-18 23:02:09 +00:00
ast_unparse.c bpo-34822: Simplify AST for subscription. (GH-9605) 2020-03-10 18:52:34 +02:00
bltinmodule.c bpo-39245: Switch to public API for Vectorcall (GH-18460) 2020-02-11 17:46:57 +01:00
bootstrap_hash.c Fix typos in comments, docs and test names (#15018) 2019-07-30 18:16:13 -04:00
ceval.c bpo-40010: Optimize signal handling in multithreaded applications (GH-19067) 2020-03-19 17:40:12 +01:00
ceval_gil.h bpo-40010: Optimize signal handling in multithreaded applications (GH-19067) 2020-03-19 17:40:12 +01:00
codecs.c bpo-39947: Use _PyInterpreterState_GET_UNSAFE() (GH-18978) 2020-03-13 18:03:56 +01:00
compile.c bpo-39562: Allow executing asynchronous comprehensions in the asyncio REPL (GH-18968) 2020-03-19 11:35:44 +00:00
condvar.h Typo fix: "throuhgh" should be "through". (GH-16704) 2019-10-10 20:43:13 -07:00
context.c bpo-38979: fix ContextVar "__class_getitem__" method (GH-17497) 2019-12-08 03:35:59 -08:00
dtoa.c bpo-35081: Move dtoa.h header to the internal C API (GH-18489) 2020-02-12 22:54:42 +01:00
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 bpo-37752: Delete redundant Py_CHARMASK in normalizestring() (GH-15095) 2019-09-10 17:04:08 +01:00
dynload_dl.c
dynload_hpux.c bpo-36900: Fix compilation on HP-UX (GH-13614) 2019-05-28 12:24:00 +02:00
dynload_shlib.c bpo-39947: Use _PyInterpreterState_GET_UNSAFE() (GH-18978) 2020-03-13 18:03:56 +01:00
dynload_stub.c
dynload_win.c bpo-39553: Delete HAVE_SXS protected code (GH-18356) 2020-02-04 19:13:00 -08:00
errors.c bpo-39573: Use Py_IS_TYPE() macro to check for types (GH-18809) 2020-03-06 23:53:17 +01:00
fileutils.c bpo-38353: Add subfunctions to getpath.c (GH-16572) 2019-10-04 02:22:39 +02:00
formatter_unicode.c bpo-38249: Expand Py_UNREACHABLE() to __builtin_unreachable() in the release mode. (GH-16329) 2020-03-09 20:49:52 +02:00
frozen.c bpo-36540: PEP 570 -- Implementation (GH-12701) 2019-04-29 13:36:57 +01:00
frozenmain.c bpo-38304: PyConfig_InitPythonConfig() cannot fail anymore (GH-16509) 2019-10-01 12:06:16 +02:00
future.c bpo-34683: Make SyntaxError column offsets consistently 1-indexed (gh-9338) 2018-09-24 14:12:49 -07:00
getargs.c bpo-37207: Add _PyArg_NoKwnames() helper function (GH-18980) 2020-03-16 15:06:20 +01:00
getcompiler.c closes bpo-31696: don't mention GCC in sys.version when building with clang (#3891) 2017-10-05 21:15:14 -07:00
getcopyright.c Bring Python into the next decade. (GH-17801) 2020-01-02 18:56:34 -08:00
getopt.c Delete stale comment in Python/getopt.c. (GH-14719) 2019-08-19 18:35:13 -07: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 bpo-39702: Relax grammar restrictions on decorators (PEP 614) (GH-18570) 2020-03-03 14:25:44 -08:00
hamt.c bpo-39573: Clean up modules and headers to use Py_IS_TYPE() function (GH-18521) 2020-02-17 11:09:15 +01:00
import.c bpo-39947: Use _PyInterpreterState_GET_UNSAFE() (GH-18978) 2020-03-13 18:03:56 +01:00
importdl.c bpo-39573: Finish converting to new Py_IS_TYPE() macro (GH-18601) 2020-03-04 14:15:20 +01:00
importdl.h
importlib.h bpo-39987: Simplify setting lineno in the compiler. (GH-19037) 2020-03-17 18:07:30 +02:00
importlib_external.h bpo-39987: Simplify setting lineno in the compiler. (GH-19037) 2020-03-17 18:07:30 +02:00
importlib_zipimport.h bpo-39987: Simplify setting lineno in the compiler. (GH-19037) 2020-03-17 18:07:30 +02:00
initconfig.c bpo-39947: Use _PyInterpreterState_GET_UNSAFE() (GH-18978) 2020-03-13 18:03:56 +01:00
makeopcodetargets.py
marshal.c closes bpo-39605: Fix some casts to not cast away const. (GH-18453) 2020-02-11 18:28:35 -08:00
modsupport.c bpo-38913: Fix segfault in Py_BuildValue("(s#O)", ...) if entered with exception raised. (GH-18656) 2020-03-02 08:42:39 +02:00
mysnprintf.c
mystrtoul.c bpo-37752: Delete redundant Py_CHARMASK in normalizestring() (GH-15095) 2019-09-10 17:04:08 +01:00
opcode_targets.h bpo-39320: Handle unpacking of **values in compiler (GH-18141) 2020-01-27 09:57:45 +00:00
pathconfig.c bpo-39882: Py_FatalError() logs the function name (GH-18819) 2020-03-07 00:54:20 +01:00
peephole.c bpo-38249: Expand Py_UNREACHABLE() to __builtin_unreachable() in the release mode. (GH-16329) 2020-03-09 20:49:52 +02:00
preconfig.c bpo-38304: Remove PyConfig.struct_size (GH-16500) (GH-16508) 2019-10-01 10:56:37 +02:00
pyarena.c bpo-36254: Fix invalid uses of %d in format strings in C. (GH-12264) 2019-03-13 22:59:55 +02:00
pyctype.c
pyfpe.c bpo-29137: Remove fpectl module (#4789) 2018-01-05 23:15:34 -08:00
pyhash.c closes bpo-39605: Fix some casts to not cast away const. (GH-18453) 2020-02-11 18:28:35 -08:00
pylifecycle.c bpo-39984: Move pending calls to PyInterpreterState (GH-19066) 2020-03-19 02:41:21 +01:00
pymath.c bpo-31031: Unify duplicate bits_in_digit and bit_length (GH-2866) 2020-01-16 15:09:19 +01:00
pystate.c bpo-39984: Pass tstate to _PyEval_SignalAsyncExc() (GH-19049) 2020-03-18 09:26:25 +01:00
pystrcmp.c
pystrhex.c Fix unused variable and signed/unsigned warnings (GH-15537) 2019-08-27 09:55:13 -07:00
pystrtod.c bpo-35081: Move dtoa.h header to the internal C API (GH-18489) 2020-02-12 22:54:42 +01:00
pythonrun.c bpo-39947: Use _PyInterpreterState_GET_UNSAFE() (GH-18978) 2020-03-13 18:03:56 +01:00
pytime.c bpo-38249: Expand Py_UNREACHABLE() to __builtin_unreachable() in the release mode. (GH-16329) 2020-03-09 20:49:52 +02:00
strdup.c bpo-36623: Clean parser headers and include files (GH-12253) 2019-04-13 17:05:14 +01:00
structmember.c
symtable.c bpo-34822: Simplify AST for subscription. (GH-9605) 2020-03-10 18:52:34 +02:00
sysmodule.c bpo-35370: Add _PyEval_SetTrace() function (GH-18975) 2020-03-13 16:39:12 +01:00
thread.c bpo-39947: Use _PyInterpreterState_GET_UNSAFE() (GH-18978) 2020-03-13 18:03:56 +01:00
thread_nt.h bpo-39847: EnterNonRecursiveMutex() uses GetTickCount64() (GH-18780) 2020-03-12 00:39:02 +01:00
thread_pthread.h bpo-38852: Set thread stack size to 8 Mb for debug builds on android platforms (GH-17337) 2019-12-08 08:40:14 +01:00
traceback.c bpo-38070: _Py_DumpTraceback() writes <no Python frame> (GH-16244) 2019-09-17 23:36:16 +02:00
wordcode_helpers.h bpo-31338 (#3374) 2017-09-14 18:13:16 -07:00

README

Miscellaneous source files for the main Python shared library