Next: ALL, Previous: AINT, Up: Intrinsic Procedures
ALARM — Execute a routine after a given delayALARM(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 isINTENT(IN). | 
| HANDLER | Signal handler ( INTEGER FUNCTIONorSUBROUTINE) or dummy/globalINTEGERscalar. The scalar
values may be eitherSIG_IGN=1to ignore the alarm generated
orSIG_DFL=0to set the default action. It isINTENT(IN). | 
| STATUS | (Optional) STATUS shall be a scalar
variable of the default INTEGERkind. It isINTENT(OUT). | 
          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.