static BOOL WINAPI ConsoleHandler(DWORD op) { if (stdio_kills_prog) { ReleaseSemaphore(waiting_sema, 1, NULL); } else { scheme_break_main_thread_at(orig_break_handle); scheme_signal_received_at(orig_signal_handle); } return TRUE; }
static void user_break_hit(int ignore) { scheme_break_main_thread_at(break_handle); scheme_signal_received_at(signal_handle); # ifdef SIGSET_NEEDS_REINSTALL MZ_SIGSET(SIGINT, user_break_hit); # endif # ifdef MZ_PRECISE_GC # ifndef GC_STACK_CALLEE_RESTORE /* Restore variable stack. */ GC_variable_stack = (void **)__gc_var_stack__[0]; # endif # endif }
static BOOL WINAPI ConsoleBreakHandler(DWORD op) { scheme_break_main_thread_at(break_handle); scheme_signal_received_at(signal_handle); return TRUE; }