Skip to content

Include real-time signals (SIGRTMIN..SIGRTMAX) in SIGNUMS#1719

Open
krrishapatel wants to merge 1 commit into
Supervisor:mainfrom
krrishapatel:fix/include-realtime-signals
Open

Include real-time signals (SIGRTMIN..SIGRTMAX) in SIGNUMS#1719
krrishapatel wants to merge 1 commit into
Supervisor:mainfrom
krrishapatel:fix/include-realtime-signals

Conversation

@krrishapatel

Copy link
Copy Markdown

Summary

On Linux, real-time signal numbers (SIGRTMIN through SIGRTMAX, typically 34-64) are valid signals that processes can send and receive. However, signal_number() rejects them because SIGNUMS is built solely from named SIG* attributes in the signal module, and real-time signals don't have individual named constants.

This extends SIGNUMS with the full SIGRTMIN..SIGRTMAX range when those attributes are available (Linux only — macOS/Windows don't have real-time signals).

Fixes #1703

Changes

  • supervisor/datatypes.py: Conditionally extend SIGNUMS with the real-time signal range
  • supervisor/tests/test_datatypes.py: Add two tests for SIGRTMIN/SIGRTMAX acceptance (skipped on platforms without real-time signals)

On Linux, signal numbers SIGRTMIN through SIGRTMAX (typically 34-64)
are valid but have no named constants in the signal module. The
existing list comprehension only collects SIG* attributes, causing
signal_number() to reject real-time signals with "not a valid signal
number".

Extend SIGNUMS with the SIGRTMIN..SIGRTMAX range when those attributes
are available.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

Incomplete list of valid signal numbers.

1 participant