• Eli Zaretskii's avatar
    Support recovery from C stack overflow on MS-Windows · 7afa4f30
    Eli Zaretskii authored
    * src/w32fns.c (w32_reset_stack_overflow_guard)
    (stack_overflow_handler): New functions for handling C stack
    overflow exceptions.
    (my_exception_handler): Handle EXCEPTION_STACK_OVERFLOW exceptions
    specially, and zero out except_addr if we do.
    (globals_of_w32fns): Initialize dwMainThreadId in non-interactive
    mode.
    * src/sysdep.c [HAVE_STACK_OVERFLOW_HANDLING]: Add !WINDOWSNT to
    the condition, as HAVE_STACK_OVERFLOW_HANDLING is now defined for
    the MinGW build, but the code guarded by that is for Posix hosts.
    * src/keyboard.c (command_loop) [WINDOWSNT]: Call
    w32_reset_stack_overflow_guard.
    
    * nt/inc/ms-w32.h (sigjmp_buf): New typedef.
    (sigsetjmp): New macro.
    (w32_reset_stack_overflow_guard): Declare the prototype.
    
    * configure.ac (HAVE_STACK_OVERFLOW_HANDLING): Set to 1 for MinGW.
    7afa4f30
keyboard.c 364 KB