357 |
FPRINTF(ASCERR,"Asc_Signal (%d) stack pop mismatch.\n",signum); |
FPRINTF(ASCERR,"Asc_Signal (%d) stack pop mismatch.\n",signum); |
358 |
return err; |
return err; |
359 |
} |
} |
360 |
Asc_SignalRecover(0); |
Asc_SignalRecover(TRUE); |
361 |
return 0; |
return 0; |
362 |
} |
} |
363 |
|
|
365 |
#ifndef NO_SIGNAL_TRAPS |
#ifndef NO_SIGNAL_TRAPS |
366 |
switch(sigval) { |
switch(sigval) { |
367 |
case SIGFPE: |
case SIGFPE: |
|
#ifndef __WIN32__ |
|
368 |
FPRINTF(ASCERR,"Asc_SignalTrap: SIGFPE caught\n"); |
FPRINTF(ASCERR,"Asc_SignalTrap: SIGFPE caught\n"); |
|
#endif |
|
369 |
FPRESET; |
FPRESET; |
370 |
longjmp(g_fpe_env,sigval); |
longjmp(g_fpe_env,sigval); |
371 |
break; |
break; |
378 |
longjmp(g_seg_env,sigval); |
longjmp(g_seg_env,sigval); |
379 |
break; |
break; |
380 |
default: |
default: |
381 |
FPRINTF(ASCERR,"Asc_SignalTrap: Installed on unknown signal %d.\n", sigval); |
FPRINTF(ASCERR,"Asc_SignalTrap: Installed on unexpected signal (# %d).\n", sigval); |
382 |
FPRINTF(ASCERR,"Asc_SignalTrap: Returning ... who knows where."); |
FPRINTF(ASCERR,"Asc_SignalTrap: Returning ... who knows where."); |
383 |
break; |
break; |
384 |
} |
} |