Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!caip!clyde!burl!ulysses!mhuxr!mhuxt!houxm!ihnp4!inuxc!pur-ee!uiucdcs!uiucuxc!falk From: falk@uiucuxc.CSO.UIUC.EDU Newsgroups: net.unix-wizards Subject: SIGNAL failure FTN->C Message-ID: <106000021@uiucuxc> Date: Thu, 28-Aug-86 12:06:00 EDT Article-I.D.: uiucuxc.106000021 Posted: Thu Aug 28 12:06:00 1986 Date-Received: Sun, 31-Aug-86 10:06:07 EDT Lines: 28 Nf-ID: #N:uiucuxc:106000021:000:1130 Nf-From: uiucuxc.CSO.UIUC.EDU!falk Aug 28 11:06:00 1986 {} problem synopsis: signal handling in a c-function fails with an AST-fault when the c-function was invoked from a fortran program example: CALL CFUNC (in fortran- only executable line in pgm) ------- . . . SIGNAL(SIGALRM,func_addr); ALARM(SECONDS); . . . when the ALARM goes off, an AST fault occurs in the gsignal routine (PUSHL R2, if I am reading my addresses correctly). gsignal allegedly sets the signal, so the fault is occuring before it ever gets to func_addr. The c-routine that does the signal processing, run by itself, does just fine. Anyone know why it breaks when I surround it with a fortran program? (no editorial comments about *why* I would want to surround a perfectly reasonable C program with an awful fortran program, it wasn't *my* choice :-) Is there some sort of workaround (short of taking out the signal processing) that I could do to get this beast to work? I've looked at SIGVEC and SIGSTACK as a possible means of forcing an alternate stack, but I haven't been able to get them to work, either. Any help/hints would be appreciated.