SIGNAL (The GNU Fortran Compiler) (original) (raw)
module m_handler contains ! POSIX.1-2017: void (*func)(int) subroutine handler_print(signum) bind(C) use iso_c_binding, only: c_int integer(c_int), value :: signum print *, 'handler_print invoked with signum =', signum end subroutine end module program test_signal use m_handler intrinsic :: signal, sleep call signal (12, handler_print) ! 12 = SIGUSR2 (on some systems) call signal (10, 1) ! 10 = SIGUSR1 and 1 = SIG_IGN (on some systems)
call sleep (30) end program test_signal