Signal Handlers

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

4 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

I'm not a UNIX expert, but reading the manual suggests that the code you want is 75 for SIGFPE. See section 8.3 of the User Manual for details.

Steve

Steve

Steve,

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

Bryan

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

Steve

Login to leave a comment.