Staging
v0.8.1
v0.8.1
https://github.com/python/cpython
Revision 5a3a71dddbe80edc75a3a74ce3b7978cf8635901 authored by Victor Stinner on 19 March 2020, 16:40:12 UTC, committed by GitHub on 19 March 2020, 16:40:12 UTC
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.
1 parent 77248a2
Tip revision: 5a3a71dddbe80edc75a3a74ce3b7978cf8635901 authored by Victor Stinner on 19 March 2020, 16:40:12 UTC
bpo-40010: Optimize signal handling in multithreaded applications (GH-19067)
bpo-40010: Optimize signal handling in multithreaded applications (GH-19067)
Tip revision: 5a3a71d
File | Mode | Size |
---|---|---|
_asyncio.vcxproj | -rw-r--r-- | 4.2 KB |
_asyncio.vcxproj.filters | -rw-r--r-- | 520 bytes |
_bz2.vcxproj | -rw-r--r-- | 5.1 KB |
_bz2.vcxproj.filters | -rw-r--r-- | 1.7 KB |
_ctypes.vcxproj | -rw-r--r-- | 4.9 KB |
_ctypes.vcxproj.filters | -rw-r--r-- | 1.4 KB |
_ctypes_test.vcxproj | -rw-r--r-- | 4.3 KB |
_ctypes_test.vcxproj.filters | -rw-r--r-- | 718 bytes |
_decimal.vcxproj | -rw-r--r-- | 7.6 KB |
_decimal.vcxproj.filters | -rw-r--r-- | 4.3 KB |
_elementtree.vcxproj | -rw-r--r-- | 5.6 KB |
_elementtree.vcxproj.filters | -rw-r--r-- | 2.5 KB |
_freeze_importlib.vcxproj | -rw-r--r-- | 7.2 KB |
_freeze_importlib.vcxproj.filters | -rw-r--r-- | 1.1 KB |
_hashlib.vcxproj | -rw-r--r-- | 4.4 KB |
_hashlib.vcxproj.filters | -rw-r--r-- | 436 bytes |
_lzma.vcxproj | -rw-r--r-- | 4.9 KB |
_lzma.vcxproj.filters | -rw-r--r-- | 435 bytes |
_msi.vcxproj | -rw-r--r-- | 4.4 KB |
_msi.vcxproj.filters | -rw-r--r-- | 423 bytes |
_multiprocessing.vcxproj | -rw-r--r-- | 4.6 KB |
_multiprocessing.vcxproj.filters | -rw-r--r-- | 861 bytes |
_overlapped.vcxproj | -rw-r--r-- | 4.4 KB |
_overlapped.vcxproj.filters | -rw-r--r-- | 434 bytes |
_queue.vcxproj | -rw-r--r-- | 4.2 KB |
_queue.vcxproj.filters | -rw-r--r-- | 518 bytes |
_socket.vcxproj | -rw-r--r-- | 4.5 KB |
_socket.vcxproj.filters | -rw-r--r-- | 702 bytes |
_sqlite3.vcxproj | -rw-r--r-- | 5.7 KB |
_sqlite3.vcxproj.filters | -rw-r--r-- | 2.4 KB |
_ssl.vcxproj | -rw-r--r-- | 4.8 KB |
_ssl.vcxproj.filters | -rw-r--r-- | 620 bytes |
_testbuffer.vcxproj | -rw-r--r-- | 4.2 KB |
_testbuffer.vcxproj.filters | -rw-r--r-- | 435 bytes |
_testcapi.vcxproj | -rw-r--r-- | 4.3 KB |
_testcapi.vcxproj.filters | -rw-r--r-- | 439 bytes |
_testconsole.vcxproj | -rw-r--r-- | 4.4 KB |
_testconsole.vcxproj.filters | -rw-r--r-- | 952 bytes |
_testembed.vcxproj | -rw-r--r-- | 4.3 KB |
_testembed.vcxproj.filters | -rw-r--r-- | 948 bytes |
_testimportmultiple.vcxproj | -rw-r--r-- | 4.3 KB |
_testimportmultiple.vcxproj.filters | -rw-r--r-- | 444 bytes |
_testinternalcapi.vcxproj | -rw-r--r-- | 4.3 KB |
_testinternalcapi.vcxproj.filters | -rw-r--r-- | 442 bytes |
_testmultiphase.vcxproj | -rw-r--r-- | 4.4 KB |
_testmultiphase.vcxproj.filters | -rw-r--r-- | 952 bytes |
_tkinter.vcxproj | -rw-r--r-- | 5.7 KB |
_tkinter.vcxproj.filters | -rw-r--r-- | 534 bytes |
build.bat | -rw-r--r-- | 7.1 KB |
build_env.bat | -rw-r--r-- | 25 bytes |
clean.bat | -rw-r--r-- | 128 bytes |
env.bat | -rw-r--r-- | 712 bytes |
field3.py | -rw-r--r-- | 974 bytes |
find_msbuild.bat | -rw-r--r-- | 2.8 KB |
find_python.bat | -rw-r--r-- | 3.2 KB |
fix_encoding.py | -rwxr-xr-x | 952 bytes |
get_external.py | -rwxr-xr-x | 1.8 KB |
get_externals.bat | -rw-r--r-- | 4.3 KB |
idle.bat | -rw-r--r-- | 296 bytes |
lib.pyproj | -rw-r--r-- | 89.3 KB |
libffi.props | -rw-r--r-- | 1.0 KB |
liblzma.vcxproj | -rw-r--r-- | 14.3 KB |
openssl.props | -rw-r--r-- | 1.5 KB |
openssl.vcxproj | -rw-r--r-- | 5.7 KB |
pcbuild.proj | -rw-r--r-- | 6.1 KB |
pcbuild.sln | -rw-r--r-- | 110.4 KB |
prepare_libffi.bat | -rw-r--r-- | 6.7 KB |
prepare_ssl.bat | -rw-r--r-- | 2.1 KB |
prepare_ssl.py | -rwxr-xr-x | 6.7 KB |
prepare_tcltk.bat | -rw-r--r-- | 1.9 KB |
pyexpat.vcxproj | -rw-r--r-- | 4.8 KB |
pyexpat.vcxproj.filters | -rw-r--r-- | 1.1 KB |
pylauncher.vcxproj | -rw-r--r-- | 4.4 KB |
pylauncher.vcxproj.filters | -rw-r--r-- | 1.2 KB |
pyproject.props | -rw-r--r-- | 13.7 KB |
pyshellext.vcxproj | -rw-r--r-- | 4.6 KB |
pyshellext.vcxproj.filters | -rw-r--r-- | 1.4 KB |
python.props | -rw-r--r-- | 14.5 KB |
python.vcxproj | -rw-r--r-- | 7.2 KB |
python.vcxproj.filters | -rw-r--r-- | 824 bytes |
python3dll.vcxproj | -rw-r--r-- | 7.9 KB |
python3dll.vcxproj.filters | -rw-r--r-- | 1.2 KB |
python_uwp.vcxproj | -rw-r--r-- | 4.9 KB |
pythoncore.vcxproj | -rw-r--r-- | 27.2 KB |
pythoncore.vcxproj.filters | -rw-r--r-- | 37.9 KB |
pythonw.vcxproj | -rw-r--r-- | 4.2 KB |
pythonw.vcxproj.filters | -rw-r--r-- | 702 bytes |
pythonw_uwp.vcxproj | -rw-r--r-- | 5.0 KB |
pywlauncher.vcxproj | -rw-r--r-- | 4.4 KB |
pywlauncher.vcxproj.filters | -rw-r--r-- | 1.2 KB |
readme.txt | -rw-r--r-- | 10.9 KB |
regen.vcxproj | -rw-r--r-- | 11.7 KB |
rmpyc.py | -rw-r--r-- | 409 bytes |
rt.bat | -rw-r--r-- | 2.1 KB |
select.vcxproj | -rw-r--r-- | 4.3 KB |
select.vcxproj.filters | -rw-r--r-- | 436 bytes |
sqlite3.vcxproj | -rw-r--r-- | 5.3 KB |
sqlite3.vcxproj.filters | -rw-r--r-- | 804 bytes |
tcl.vcxproj | -rw-r--r-- | 3.0 KB |
tcltk.props | -rw-r--r-- | 3.7 KB |
tix.vcxproj | -rw-r--r-- | 3.9 KB |
tk.vcxproj | -rw-r--r-- | 3.2 KB |
unicodedata.vcxproj | -rw-r--r-- | 4.4 KB |
unicodedata.vcxproj.filters | -rw-r--r-- | 810 bytes |
urlretrieve.py | -rw-r--r-- | 1.2 KB |
venvlauncher.vcxproj | -rw-r--r-- | 4.6 KB |
venvwlauncher.vcxproj | -rw-r--r-- | 4.6 KB |
winsound.vcxproj | -rw-r--r-- | 4.4 KB |
winsound.vcxproj.filters | -rw-r--r-- | 500 bytes |
xxlimited.vcxproj | -rw-r--r-- | 4.4 KB |
xxlimited.vcxproj.filters | -rw-r--r-- | 433 bytes |
Computing file changes ...