Next: , Previous: SIGN, Up: Intrinsic Procedures


8.223 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)
HANDLERSignal 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