-
- Downloads
[3.9] bpo-40826: Fix GIL usage in PyOS_Readline() (GH-20613)
* bpo-40826: Fix GIL usage in PyOS_Readline() (GH-20579) Fix GIL usage in PyOS_Readline(): lock the GIL to set an exception. Pass tstate to my_fgets() and _PyOS_WindowsConsoleReadline(). Cleanup these functions. (cherry picked from commit c353764f) * bpo-40826: Add _PyOS_InterruptOccurred(tstate) function (GH-20599) my_fgets() now calls _PyOS_InterruptOccurred(tstate) to check for pending signals, rather calling PyOS_InterruptOccurred(). my_fgets() is called with the GIL released, whereas PyOS_InterruptOccurred() must be called with the GIL held. test_repl: use text=True and avoid SuppressCrashReport in test_multiline_string_parsing(). Fix my_fgets() on Windows: fgets(fp) does crash if fileno(fp) is closed. (cherry picked from commit fa7ab6aa)
Showing
- Include/internal/pycore_pystate.h 3 additions, 0 deletionsInclude/internal/pycore_pystate.h
- Lib/test/test_repl.py 16 additions, 6 deletionsLib/test/test_repl.py
- Misc/NEWS.d/next/Core and Builtins/2020-06-01-20-31-07.bpo-40826.XCI4M2.rst 2 additions, 0 deletions...ore and Builtins/2020-06-01-20-31-07.bpo-40826.XCI4M2.rst
- Modules/signalmodule.c 15 additions, 3 deletionsModules/signalmodule.c
- Parser/myreadline.c 85 additions, 33 deletionsParser/myreadline.c
Loading
Please register or sign in to comment