Add target-gated signal primitives to std::sys
- Dominant language
- Rust
- Stars
- 53
- Forks
- 16
- Avg merge
- 4h 22m
- Merged PRs (30d)
- 46
Description
Tracked by #375 and represented in #378.
## Scope
Define the minimum raw signal contract required by runtimes and applications:
- Stable signal constants by target.
- sigaction-compatible handler registration where Wave can express the ABI safely.
- Signal mask inspection and updates.
- raise or kill-based delivery.
- Default, ignore, and restore behavior.
- Explicit restrictions for async-signal-safe Wave operations.
Start with Linux and macOS. Record Windows console-control and exception handling as a separate provider contract rather than forcing Unix semantics onto Windows.
## Completion criteria
- [ ] ABI layouts and callback signatures are documented before implementation.
- [ ] Linux and macOS constants are target-specific and source-auditable.
- [ ] Compiler limitations around callbacks or function pointers are linked.
- [ ] Runtime tests cover install, deliver, and restore without hanging CI.
- [ ] Unsupported targets fail clearly.
Contributor guide
Research direction
Start with tracked issue #375 and the representation in #378, then review the std::sys signal boundary and target-specific ABI requirements. Document callback layouts and compiler limitations before implementation; completion requires Linux and macOS install, delivery, and restore tests that do not hang CI, plus clear failures for unsupported targets.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- operating-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100