Documentation

Std.Internal.Async.Signal

Unix style signals for Unix and Windows. SIGKILL and SIGSTOP are missing because they cannot be caught. SIGPIPE is not present because the runtime ignores the signal.

  • sighup : Signal

    Hangup detected on controlling terminal or death of controlling process. SIGHUP is not generated when terminal raw mode is enabled.

    On Windows:

    • SIGHUP is generated when the user closes the console window. The program is given ~10 seconds to cleanup before Windows unconditionally terminates it.
  • sigint : Signal

    Interrupt program.

    • Normally delivered when the user presses CTRL+C. Not generated when terminal raw mode is enabled (like Unix).
  • sigquit : Signal

    Quit program.

  • sigtrap : Signal

    Trace/breakpoint trap.

  • sigabrt : Signal

    Abort signal.

    Notes:

    • SIGABRT is not catchable if generated by certain runtime functions, such as abort or assertion failure.
    • On Windows, watchers can be created for SIGABRT, but they never receive the signal.
  • sigemt : Signal

    Emulate instruction executed

  • sigsys : Signal

    Bad system call.

  • sigalrm : Signal

    Real-time timer expired.

  • sigterm : Signal

    Termination signal.

    Notes:

    • On Windows, watchers can be created for SIGTERM, but they never receive the signal.
  • sigurg : Signal

    Urgent condition on socket.

  • sigtstp : Signal

    Stop typed at tty.

  • sigcont : Signal

    Continue after stop.

  • sigchld : Signal

    Child status has changed.

  • sigttin : Signal

    Background read attempted from control terminal.

  • sigttou : Signal

    Background write attempted to control terminal

  • sigio : Signal

    I/O now possible.

  • sigxcpu : Signal

    CPU time limit exceeded.

  • sigxfsz : Signal

    File size limit exceeded.

  • sigvtalrm : Signal

    Virtual alarm clock.

  • sigprof : Signal

    Profiling timer expired.

  • sigwinch : Signal

    Window size change.

    Notes:

    • SIGWINCH is raised whenever the runtime detects the console has been resized.
    • Under console emulators, or on 32-bit apps on 64-bit systems, SIGWINCH is emulated.
    • In these cases, signals may not be delivered timely.
  • siginfo : Signal

    Status request from keyboard.

  • sigusr1 : Signal

    User-defined signal 1.

  • sigusr2 : Signal

    User-defined signal 2.

Instances For
    Equations
    • One or more equations did not get rendered due to their size.
    Instances For

      Signal.Waiter can be used to handle a specific signal once.

      Instances For
        @[inline]

        Set up a Signal.Waiter that waits for the specified signum. This function only initializes but does not yet start listening for the signal.

        Equations
        Instances For
          @[inline]

          If:

          • s is not yet running start listening and return an AsyncTask that will resolve once the previously configured signal is received.
          • s is already or not anymore running return the same AsyncTask as the first call to wait.

          The resolved AsyncTask contains the signal number that was received.

          Equations
          Instances For
            @[inline]

            If:

            • s is still running this stops s without resolving any remaining AsyncTasks that were created through wait. Note that if another AsyncTask is binding on any of these it is going hang forever without further intervention.
            • s is not yet or not anymore running this is a no-op.
            Equations
            Instances For

              Create a Selector that resolves once s has received the signal. Note that calling this function does not start the signal waiter.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For