Expand description
Linux RISC-V 64 signal syscalls and signal handling
Implements POSIX signals with Linux-compatible semantics, integrated with Scarlet’s event system for cross-ABI signal delivery.
Structs§
- Signal
Mask - Signal mask for blocking signals
- Signal
State - Signal handler state for a task
Enums§
- Linux
Signal - Linux signal numbers (POSIX standard)
- Signal
Action - Signal action types
Functions§
- deliver_
signal_ to_ task - Deliver a signal to a task’s signal state
- get_
next_ pending_ signal - Check if task has pending signals and return the next one to handle
- handle_
event_ to_ signal - Handle incoming event and convert to signal if needed
- handle_
fatal_ signal_ immediately - Handle fatal signals that should terminate immediately This is a simplified implementation for basic signal handling
- is_
fatal_ signal - Check if a signal should be handled immediately (cannot be blocked/ignored)
- process_
control_ to_ signal - Convert Scarlet ProcessControlType to Linux signal
- process_
pending_ signals_ with_ state - Process pending signals for a task with explicit signal state Returns true if a signal was handled and execution should be interrupted
- setup_
signal_ 🔒handler - Enhanced signal handler setup with proper context saving
- sys_
rt_ sigaction - Linux rt_sigaction system call implementation
- sys_
rt_ sigprocmask - Linux rt_sigprocmask system call implementation
- sys_
tkill - Linux sys_tkill - Send a signal to a specific thread