• Eli Zaretskii's avatar
    Fix handling of fatal signals and exceptions on MS-Windows. · 16b22fef
    Eli Zaretskii authored
     src/w32proc.c (sys_signal): Handle all signals defined by the
     MS-Windows runtime, not just SIGCHLD.  Actually install the signal
     handlers for signals supported by Windows.  Don't override
     term_ntproc as the handler for SIGABRT.
     (sigaction): Rewrite to call sys_signal instead of duplicating its
     code.
     (sys_kill): Improve commentary.
     src/w32.c (term_ntproc): Accept (and ignore) one argument, for
     consistency with a signature of a signal handler.  All callers
     changed.
     (init_ntproc): Accept an argument DUMPING.  If dumping, don't
     install term_ntproc as a signal handler for SIGABRT, as that
     should be done by the dumped Emacs.
     src/w32.h (init_ntproc, term_ntproc): Adjust prototypes.
     src/w32select.c (term_w32select): Protect against repeated
     invocation by setting clipboard_owner to NULL after calling
     DestroyWindow.
     src/emacs.c (shut_down_emacs, main): Adapt the calls to init_ntproc
     and term_ntproc to their modified signatures.
    16b22fef
w32.c 184 KB