static RETSIGTYPE inter(int anint) { (void) anint; /* aovid -Wunused warning */ (void) signal(SIGINT, (sigfunc) inter); #ifndef DOSX286 (void) signal(SIGFPE, SIG_DFL); /* turn off FPE trapping */ #endif #ifdef OS2 if (!strcmp(term->name,"pm")) { PM_intc_cleanup(); /* ?? putc('\n', stderr); LONGJMP(command_line_env, TRUE); */ } else #endif { term_reset(); (void) putc('\n', stderr); bail_to_command_line(); /* return to prompt */ } }
static RETSIGTYPE inter(int anint) { (void) anint; /* aovid -Wunused warning */ (void) signal(SIGINT, (sigfunc) inter); (void) signal(SIGFPE, SIG_DFL); /* turn off FPE trapping */ #ifdef OS2 if (!strcmp(term->name,"pm")) { PM_intc_cleanup(); /* ?? putc('\n', stderr); LONGJMP(command_line_env, TRUE); */ } else #endif #if defined(WGP_CONSOLE) /* The Windows console Ctrl-C handler runs in another thread. So a longjmp() would result in crash. Instead, we handle these events asynchronously. */ ctrlc_flag = TRUE; /* Interrupt ConsoleGetch. */ SendMessage(graphwin->hWndGraph, WM_NULL, 0, 0); SendMessage(GetConsoleWindow(), WM_CHAR, 0x20, 0); #else { term_reset(); (void) putc('\n', stderr); bail_to_command_line(); /* return to prompt */ } #endif }