Skip to content

Add target-gated signal primitives to std::sys #384

Description

@LunaStev

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    cross-platformIssues related to making Wave work seamlessly across multiple operating systems.discussionIssues that require a technical or community discussion.enhancementA request for a new feature or improvement.help wantedThe issue requires extra attention or help from others.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions