This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author tcaswell
Recipients docs@python, tcaswell
Date 2021-09-20.22:27:22
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1632176842.25.0.412458705067.issue45251@roundup.psfhosted.org>
In-reply-to
Content
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 [1] 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)

[1] 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
History
Date User Action Args
2021-09-20 22:27:22tcaswellsetrecipients: + tcaswell, docs@python
2021-09-20 22:27:22tcaswellsetmessageid: <1632176842.25.0.412458705067.issue45251@roundup.psfhosted.org>
2021-09-20 22:27:22tcaswelllinkissue45251 messages
2021-09-20 22:27:22tcaswellcreate