[New-bugs-announce] [issue45251] signal.SIGCLD alias is not available on OSX
report at bugs.python.org
Mon Sep 20 18:27:22 EDT 2021
New submission from Thomas Caswell <tcaswell at gmail.com>:
The module attribute signal.SIGCLD (https://docs.python.org/3/library/signal.html#signal.SIGCLD) is an "archaic" (quoting from the GNU C Library source) alias for signal.SIGCHLD (https://docs.python.org/3/library/signal.html#signal.SIGCHLD). signal.SIGCHLD is documented as being available on unix, and signal.SIGCLD is documented as an alias of signal.SIGCHLD.
However, it seems that clang does not define the SIGCLD back-compatibility name  so the SIGCLD alias is missing on OSX (all the way to at least 2.7) because the clang headers appear to not define the SIGCLD macro and hence the logic in modulesignal.c does not find it, and hence the rest of the tooling in signal.py does not find it.
I am not sure if the correct fix is to document that SIGCLD in only available on linux (which I am not sure is completely correct, maybe "availability is platform dependent, but definitely not on darwin"?) or to add the macro if SIGCHLD is defined and SIGCLD is missing (see attached patch)
 SIGCLD is not documented in https://developer.apple.com/library/archive/documentation/System/Conceptual/ManPages_iPhoneOS/man3/signal.3.html and not the signal.h that ships with xcode
assignee: docs at python
components: Documentation, Library (Lib)
nosy: docs at python, tcaswell
title: signal.SIGCLD alias is not available on OSX
versions: Python 3.10, Python 3.11, Python 3.6, Python 3.7, Python 3.8, Python 3.9
Added file: https://bugs.python.org/file50290/osx_signal_compat.patch
Python tracker <report at bugs.python.org>
More information about the New-bugs-announce