Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Intel_C_Intel
Employee
61 Views

Signal Handlers

Hello,

Does anyone have an example of how to install a signal handler in FORTRAN. After reading the signal(3f) man page I came up with something like this, but it doesn't work. I'm trying to catch a floating point overflow (72).

program main

ierr = signal(72,myhandler,-1)
write(6,*) "ierr=",ierr

...
end

subroutine myhandler

write(6,*) "Called my handler"

end

The value returned by ierr is zero, according to the man page it should return the address of the subroutine. What am I doing wrong here? Any help would be greatly appreciated!

Thanks,

Bryan Walsh
0 Kudos
3 Replies
Steven_L_Intel1
Employee
61 Views

I'm not a UNIX expert, but reading the manual suggests that the code you want is 75 for SIGFPE. See
Intel_C_Intel
Employee
61 Views

Steve,

I do want 72 since this is the signal being sent, but I've also tried 75.

Bryan
Steven_L_Intel1
Employee
61 Views

Hmm. Well, you've now gone outside what I know. I'll pass your question on to our exception handling expert and see what he says.

Steve
Reply