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).
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
Standard
GNU extension
Class
Subroutine, function