Documentation

Std.Internal.Async.Signal

Unix style signals for Unix and Windows. SIGKILL and SIGSTOP are missing because they cannot be caught. SIGBUS, SIGFPE, SIGILL, and SIGSEGV are missing because they cannot be caught safely by libuv. SIGPIPE is not present because the runtime ignores the signal.

  • sighup : Signal

    Hangup detected on controlling terminal or death of controlling process.

    On Windows:

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

    Interrupt program.

    Notes:

    • Normally delivered when the user presses CTRL+C. Not generated when terminal raw mode is enabled.
  • 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.
  • sigusr1 : Signal

    User-defined signal 1.

  • sigusr2 : Signal

    User-defined signal 2.

  • 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.
  • sigchld : Signal

    Child status has changed.

  • sigcont : Signal

    Continue after stop.

  • sigtstp : Signal

    Stop typed at terminal.

  • sigttin : Signal

    Background read attempted from control terminal.

  • sigttou : Signal

    Background write attempted to control terminal.

  • sigurg : Signal

    Urgent condition on socket.

  • 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.
  • sigio : Signal

    I/O now possible.

  • sigsys : Signal

    Bad system call.

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

      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