Signal API Reference

POSIX signal handling operations

Import

U std/signal

Overview

The signal module provides POSIX signal constants and functions for registering signal handlers and sending signals. It wraps the C standard library signal() and raise() functions.

Constants

POSIX Signal Numbers (Portable)

ConstantValueDescription
SIGHUP1Hangup
SIGINT2Interrupt (Ctrl+C)
SIGQUIT3Quit
SIGILL4Illegal instruction
SIGTRAP5Trace trap
SIGABRT6Abort
SIGFPE8Floating point exception
SIGKILL9Kill (cannot be caught)
SIGSEGV11Segmentation fault
SIGPIPE13Broken pipe
SIGALRM14Alarm clock
SIGTERM15Termination

Platform-Dependent Signal Numbers

ConstantmacOSLinux
SIGBUS107
SIGUSR13010
SIGUSR23112

Special Signal Handler Values

ConstantValueDescription
SIG_DFL0Default signal handling
SIG_IGN1Ignore signal

Functions

signal_handle

F signal_handle(signum: i32, handler: i64) -> i64

Register a signal handler for the given signal.

Parameters:

  • signum: The signal number (use constants above)
  • handler: A function pointer to the handler, SIG_DFL, or SIG_IGN

Returns: The previous handler value.

signal_raise

F signal_raise(signum: i32) -> i32

Send a signal to the current process.

Parameters:

  • signum: The signal number to send

Returns: 0 on success, -1 on error.

Example

U std/signal

F main() {
    # Ignore SIGPIPE
    signal_handle(SIGPIPE, SIG_IGN)

    # Send SIGTERM to self
    signal_raise(SIGTERM)
}