PreviousUpNext

14.4.33  Interprocess_Signals

The standard library Interprocess_Signals api defines access to the runtime signals facility, which enables Mythryl-level handling of both POSIX interprocess signnals like SIGALRM and also internally generated signals for monitoring (for example) garbage collection.

The Interprocess_Signals api is implemented by the interprocess_signals package.

The Interprocess_Signals api source code is in src/lib/std/src/nj/interprocess-signals.api.

The above information is manually maintained and may contain errors.

api {   Signal
        = SIGABRT
        |
        SIGALRM
        |
        SIGBUS
        |
        SIGCHLD
        |
        SIGCONT
        |
        SIGFPE
        |
        SIGHUP
        |
        SIGILL
        |
        SIGINT
        |
        SIGIO
        |
        SIGKILL
        |
        SIGPIPE
        |
        SIGPROF
        |
        SIGPWR
        |
        SIGQUIT
        |
        SIGSEGV
        |
        SIGSTKFLT
        |
        SIGSTOP
        |
        SIGSYS
        |
        SIGTERM
        |
        SIGTRAP
        |
        SIGTSTP
        |
        SIGTTIN
        |
        SIGTTOU
        |
        SIGURG
        |
        SIGUSR1
        |
        SIGUSR2
        |
        SIGVTALRM
        |
        SIGWINCH
        |
        SIGXCPU
        |
        SIGXFSZ;
    all_signals : List(Signal );
    signal_to_int : Signal -> Int;
    signal_to_string : Signal -> String;
    int_to_signal : Int -> Signal;
    Signal_Action  = DEFAULT | HANDLER (Signal , Int , fate::Fate(Void )) -> fate::Fate(Void ) | IGNORE;
    set_signal_handler : (Signal , Signal_Action) -> Signal_Action;
    override_signal_handler : (Signal , Signal_Action) -> Signal_Action;
    get_signal_handler : Signal -> Signal_Action;
    Signal_Mask  = MASK List(Signal ) | MASK_ALL;
    mask_signals : Signal_Mask -> Void;
    unmask_signals : Signal_Mask -> Void;
    masked_signals : Void -> Signal_Mask;
    pause : Void -> Void;
    signal_is_supported_by_host_os : Signal -> Bool;
    ascii_signal_name_to_portable_signal_id : String -> Int;
    maximum_valid_portable_signal_id : Void -> Int;
    set_log_if_on : Bool -> Void;};


Comments and suggestions to: bugs@mythryl.org

PreviousUpNext