Changeset 73 for trunk/signal-checkpoint
- Timestamp:
- May 29, 2012, 2:04:47 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/signal-checkpoint/signal_checkpoint.F90
r72 r73 15 15 private 16 16 17 integer, parameter :: SIGHUP = 1 ! Signal HUP 18 integer, parameter :: SIGINT = 2 ! Signal INT 19 integer, parameter :: SIGQUIT = 3 ! Signal QUIT 20 integer, parameter :: SIGUSR1 = 10 ! Signal USR1 21 integer, parameter :: SIGUSR2 = 12 ! Signal USR2 22 integer, parameter :: SIGTERM = 15 ! Signal TERM 17 ! Signal list 18 integer,parameter :: SIGHUP = 1 ! Signal HUP 19 integer,parameter :: SIGINT = 2 ! Signal INT 20 integer,parameter :: SIGQUIT = 3 ! Signal QUIT 21 integer,parameter :: SIGUSR1 = 10 ! Signal USR1 22 integer,parameter :: SIGUSR2 = 12 ! Signal USR2 23 integer,parameter :: SIGTERM = 15 ! Signal TERM 23 24 24 25 ! Internal counter 25 integer :: INTERNAL_RECEIVED_COUNT_ = 0 ! Global Signal Counter26 logical :: INTERNAL_ERROR_ON_EXIT_ = .false. ! Global State26 integer :: SIGNAL_RECEIVED_COUNT_ = 0 ! Global signal counter 27 logical :: CODE_ERROR_ON_EXIT_ = .false. ! Global return state 27 28 29 ! Public interface 28 30 public :: SIGHUP 29 31 public :: SIGINT … … 42 44 43 45 subroutine signal_checkpoint_connect (SIG_NUM, EXIT) 44 integer, intent(in):: SIG_NUM45 logical, intent(in),optional :: EXIT46 integer,intent(in) :: SIG_NUM 47 logical,intent(in),optional :: EXIT 46 48 47 49 #ifdef __INTEL_COMPILER … … 61 63 call signal(SIG_NUM, trap_callback_exit_) 62 64 else 63 64 65 call signal(SIG_NUM, trap_callback_count_) 65 66 end if … … 73 74 logical :: IS_RECEIVED 74 75 75 IS_RECEIVED = ( INTERNAL_RECEIVED_COUNT_ > 0 )76 IS_RECEIVED = ( SIGNAL_RECEIVED_COUNT_ > 0 ) 76 77 end function 77 78 … … 81 82 integer :: RECEIVED_TIMES 82 83 83 RECEIVED_TIMES = INTERNAL_RECEIVED_COUNT_84 RECEIVED_TIMES = SIGNAL_RECEIVED_COUNT_ 84 85 end function 85 86 … … 89 90 logical :: EXIT 90 91 91 EXIT = INTERNAL_ERROR_ON_EXIT_92 EXIT = CODE_ERROR_ON_EXIT_ 92 93 end function 93 94 … … 95 96 !--------------------------------------------------------------! 96 97 97 subroutine trap_callback_count_ !(SIG_NUM) 98 !integer, intent(in) :: SIG_NUM 98 subroutine trap_callback_count_ 99 99 100 INTERNAL_RECEIVED_COUNT_ = INTERNAL_RECEIVED_COUNT_ + 1100 SIGNAL_RECEIVED_COUNT_ = SIGNAL_RECEIVED_COUNT_ + 1 101 101 end subroutine 102 102 103 103 !--------------------------------------------------------------! 104 104 105 subroutine trap_callback_exit_ !(SIG_NUM) 106 !integer, intent(in) :: SIG_NUM 105 subroutine trap_callback_exit_ 107 106 108 INTERNAL_ERROR_ON_EXIT_ = .true.107 CODE_ERROR_ON_EXIT_ = .true. 109 108 call trap_callback_count_ 110 109 end subroutine … … 113 112 114 113 function trap_callback_intel_exit_ (SIG_NUM) result (ONE) 115 integer, 116 integer :: ONE114 integer,intent(in) :: SIG_NUM 115 integer :: ONE 117 116 118 117 call trap_callback_exit_ … … 123 122 124 123 function trap_callback_intel_count_ (SIG_NUM) result (ONE) 125 integer, 126 integer :: ONE124 integer,intent(in) :: SIG_NUM 125 integer :: ONE 127 126 128 127 call trap_callback_count_
Note: See TracChangeset
for help on using the changeset viewer.