Skip to content

signalmodule.c uses _PyErr_WriteUnraisableMsg() - #98217

Merged
vstinner merged 1 commit into
python:mainfrom
vstinner:unraisable
Oct 12, 2022
Merged

signalmodule.c uses _PyErr_WriteUnraisableMsg()#98217
vstinner merged 1 commit into
python:mainfrom
vstinner:unraisable

Conversation

@vstinner

Copy link
Copy Markdown
Member

Signal wakeup fd errors are now logged with
_PyErr_WriteUnraisableMsg(), rather than PySys_WriteStderr() and PyErr_WriteUnraisable(), to pass the error message to sys.unraisablehook. By default, it's still written into stderr.

@vstinner

Copy link
Copy Markdown
MemberAuthor

The change can be tested manually with:

importosimportsignaldefsig_alrm(signum, frame):
print("here")
ifTrue:
withopen(__file__) asfp:
fd=fp.fileno()
os.set_blocking(fd, False)
signal.set_wakeup_fd(fd)
# fd becomes a bad file descriptorelse:
a,b=os.pipe()
os.set_blocking(fd, False)
fd=asignal.set_wakeup_fd(fd)
signal.signal(signal.SIGALRM, sig_alrm)
signal.raise_signal(signal.SIGALRM)
print("exit")

Signal wakeup fd errors are now logged with
_PyErr_WriteUnraisableMsg(), rather than PySys_WriteStderr() and
PyErr_WriteUnraisable(), to pass the error message to
sys.unraisablehook. By default, it's still written into stderr.
@vstinner
vstinner merged commit 342b115 into python:mainOct 12, 2022
@vstinner
vstinner deleted the unraisable branch October 12, 2022 15:27
carljm added a commit to carljm/cpython that referenced this pull request Oct 14, 2022
* main: (38 commits)
pythongh-98251: Allow venv to pass along PYTHON* variables to pip and ensurepip when they do not impact path resolution (pythonGH-98259)
Bpo-41246: IOCP Proactor avoid callback code duplication (python#21399)
bpo-46364: Use sockets for stdin of asyncio only on AIX (python#30596)
pythongh-98178: syslog() is not thread-safe on macOS (python#98213)
Mark all targets in `Doc/Makefile` as `PHONY` (pythonGH-98189)
pythongh-97982: Factorize PyUnicode_Count() and unicode_count() code (python#98025)
pythongh-96265: Formatting changes for faq/general (python#98129)
tutorial: remove "with single quotes" (python#98204)
pythongh-97669: Remove Tools/scripts/startuptime.py (python#98214)
signalmodule.c uses _PyErr_WriteUnraisableMsg() (python#98217)
pythongh-97669: Fix test_tools reference leak (python#98216)
pythongh-97669: Create Tools/patchcheck/ directory (python#98186)
pythongh-65046: Link to logging cookbook from asyncio docs (python#98207)
Formatting fixes in contextlib docs (python#98111)
pythongh-95276: Add callable entry to the glossary (python#95738)
pythongh-96130: Rephrase use of "typecheck" verb for clarity (python#98144)
Fix some incorrect indentation around the main switch (python#98177)
pythongh-98172: Fix formatting in `except*` docs (python#98173)
pythongh-97982: Remove asciilib_count() (python#98164)
pythongh-95756: Free and NULL-out code caches when needed (pythonGH-98181)
...
carljm added a commit to carljm/cpython that referenced this pull request Oct 14, 2022
* main: (37 commits)
pythongh-98251: Allow venv to pass along PYTHON* variables to pip and ensurepip when they do not impact path resolution (pythonGH-98259)
Bpo-41246: IOCP Proactor avoid callback code duplication (python#21399)
bpo-46364: Use sockets for stdin of asyncio only on AIX (python#30596)
pythongh-98178: syslog() is not thread-safe on macOS (python#98213)
Mark all targets in `Doc/Makefile` as `PHONY` (pythonGH-98189)
pythongh-97982: Factorize PyUnicode_Count() and unicode_count() code (python#98025)
pythongh-96265: Formatting changes for faq/general (python#98129)
tutorial: remove "with single quotes" (python#98204)
pythongh-97669: Remove Tools/scripts/startuptime.py (python#98214)
signalmodule.c uses _PyErr_WriteUnraisableMsg() (python#98217)
pythongh-97669: Fix test_tools reference leak (python#98216)
pythongh-97669: Create Tools/patchcheck/ directory (python#98186)
pythongh-65046: Link to logging cookbook from asyncio docs (python#98207)
Formatting fixes in contextlib docs (python#98111)
pythongh-95276: Add callable entry to the glossary (python#95738)
pythongh-96130: Rephrase use of "typecheck" verb for clarity (python#98144)
Fix some incorrect indentation around the main switch (python#98177)
pythongh-98172: Fix formatting in `except*` docs (python#98173)
pythongh-97982: Remove asciilib_count() (python#98164)
pythongh-95756: Free and NULL-out code caches when needed (pythonGH-98181)
...
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@vstinner@bedevere-bot