SIGNAL — Signal handling subroutine (or function)#

SIGNAL(NUMBER, HANDLER, STATUS)#

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).

Parameters
  • 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).

Returns

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

Standard:

GNU extension

Class:

Subroutine, function

Syntax:
CALL SIGNAL(NUMBER, HANDLER [, STATUS])
STATUS = SIGNAL(NUMBER, HANDLER)
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