Documentation
WASI
proc_raise

proc_raise()

Send a signal to the process of the calling thread.

Description

The proc_raise() function sends a signal to the process of the calling thread. It takes a Signal as input, which represents the signal to be raised for the process.

This function is similar to the raise function in POSIX, which sends a signal to the current process or a specific process.

Syntax

  ;;; Note: This is similar to `raise` in POSIX.
  ;;; Send a signal to the process of the calling thread.
  (@interface func (export "proc_raise")
    ;;; The signal condition to trigger.
    (param $sig $signal)
    (result $error (expected (error $errno)))
  )

Parameters

  • ctx: A mutable reference to the function environment.
  • sig: The signal to be raised for the process.

Return Value

The function returns Ok(Errno::Success) if the operation is successful. Otherwise, it returns an appropriate WasiError value.

Logging

This function is instrumented with debug level logging. It includes the following field for debugging purposes:

  • sig: The signal to be raised.

Notes

  • The proc_raise() function sends a signal to the process of the calling thread.
  • It uses the signal_process() method of the current process to send the signal.
  • This function is similar to the raise function in POSIX, which sends a signal to the current process or a specific process.
  • After sending the signal, the function calls WasiEnv::process_signals_and_exit() to process any pending signals and handle process termination if necessary.