ALARM — Execute a routine after a given delay
ALARM(SECONDS, HANDLER [, STATUS])causes external subroutine HANDLER to be executed after a delay of SECONDS by using
alarm(2)to set up a signal and
signal(2)to catch it. If STATUS is supplied, it will be returned with the number of seconds remaining until any previously scheduled alarm was due to be delivered, or zero if there was no previously scheduled alarm.
CALL ALARM(SECONDS, HANDLER [, STATUS])
SECONDS The type of the argument shall be a scalar
INTEGER. It is
HANDLER Signal handler (
SUBROUTINE) or dummy/global
INTEGERscalar. The scalar values may be either
SIG_IGN=1to ignore the alarm generated or
SIG_DFL=0to set the default action. It is
STATUS (Optional) STATUS shall be a scalar variable of the default
INTEGERkind. It is
program test_alarm external handler_print integer i call alarm (3, handler_print, i) print *, i call sleep(10) end program test_alarm
This will cause the external routine handler_print to be called after 3 seconds.