The GNU Fortran Compiler: SIGNAL

Next: SIN, Previous: SIGN, Up: Intrinsic Procedures [Contents][Index]

### 8.248 `SIGNAL` — Signal handling subroutine (or function)

Description:

  `SIGNAL(NUMBER, HANDLER [, STATUS])` causes external subroutine HANDLER to be executed with a single integer argument when signal NUMBER occurs. If HANDLER is an integer, it can be used to turn off handling of signal NUMBER or revert to its default action. See `signal(2)`.

  If `SIGNAL` is called as a subroutine and the STATUS argument is supplied, it is set to the value returned by `signal(2)`.

Standard:

  GNU extension

Class:

  Subroutine, function

Syntax:

  `CALL SIGNAL(NUMBER, HANDLER [, STATUS])`
  `STATUS = SIGNAL(NUMBER, HANDLER)`

Arguments:

  NUMBER | Shall be a scalar integer, with `INTENT(IN)`
  HANDLER | Signal handler (`INTEGER FUNCTION` or `SUBROUTINE`) or dummy/global `INTEGER` scalar. `INTEGER`. It is `INTENT(IN)`.
  STATUS | (Optional) STATUS shall be a scalar integer. It has `INTENT(OUT)`.

Return value:

  The `SIGNAL` function returns the value returned by `signal(2)`.

Example:

      program test_signal
        intrinsic signal
        external handler_print

        call signal (12, handler_print)
        call signal (10, 1)

        call sleep (30)
      end program test_signal