Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
assignee=Noneclosed_at=Nonecreated_at=<Date2021-09-20.22:27:22.221>labels= ['OS-mac', '3.9', '3.10', '3.11', 'library', 'docs']
title='signal.SIGCLD alias is not available on OSX'updated_at=<Date2021-09-24.23:40:59.307>user='https://github.com/tacaswell'
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)
Activity
tacaswell commented on Sep 20, 2021
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
4 remaining items
gh-89414: Document that SIGCLD is not available on macOS (#113580)
pythongh-89414: Document that SIGCLD is not available on macOS (pytho…
pythongh-89414: Document that SIGCLD is not available on macOS (pytho…
[3.12] gh-89414: Document that SIGCLD is not available on macOS (GH-1…
[3.11] gh-89414: Document that SIGCLD is not available on macOS (GH-1…
pythongh-89414: Document that SIGCLD is not available on macOS (pytho…
pythongh-89414: Document that SIGCLD is not available on macOS (pytho…
pythongh-89414: Document that SIGCLD is not available on macOS (pytho…