diff options
| author | Alain Schneble | 2016-10-08 16:52:40 +0300 |
|---|---|---|
| committer | Eli Zaretskii | 2016-10-08 16:52:40 +0300 |
| commit | f3eedc7e68d0e8b97425b72d691593d06639df88 (patch) | |
| tree | 8382915bdc2da6b10293e2c86c8b1306e6567373 /etc | |
| parent | 67d14c8222c05ac20229f71a2cf40eb9e3efa053 (diff) | |
| download | emacs-f3eedc7e68d0e8b97425b72d691593d06639df88.tar.gz emacs-f3eedc7e68d0e8b97425b72d691593d06639df88.zip | |
Support SIGTRAP in kill emulation on Windows
* src/w32proc.c (sys_kill): Translate SIGTRAP signal into a call to
'DebugBreakProcess' to cause a breakpoint exception to occur in the
specified process. On Windows versions prior to Windows XP that do
not support 'DebugBreakProcess' return -1 and set errno to ENOTSUP
(as opposed to EINVAL before this change).
* src/w32proc.c: Add typedef for 'DebugBreakProcess' function pointer
and global variable to track state of run-time dynamic linking of this
function.
* etc/NEWS: Add entry to document that 'signal-process' now supports
SIGTRAP.
Diffstat (limited to 'etc')
| -rw-r--r-- | etc/NEWS | 10 |
1 files changed, 10 insertions, 0 deletions
| @@ -668,6 +668,16 @@ session and exits. In particular, this will happen if you start | |||
| 668 | emacs.exe from the Windows shell, then type Ctrl-C into that shell's | 668 | emacs.exe from the Windows shell, then type Ctrl-C into that shell's |
| 669 | window. | 669 | window. |
| 670 | 670 | ||
| 671 | --- | ||
| 672 | ** 'signal-process' supports SIGTRAP on Windows XP and later. | ||
| 673 | The 'kill' emulation on Windows now maps SIGTRAP to a call to the | ||
| 674 | 'DebugBreakProcess' API. This causes the receiving process to break | ||
| 675 | execution and return control to the debugger. If no debugger is | ||
| 676 | attached to the receiving process, the call is typically ignored. | ||
| 677 | This is in contrast to the default action on POSIX Systems, where it | ||
| 678 | causes the receiving process to terminate with a core dump if no | ||
| 679 | debugger has been attached to it. | ||
| 680 | |||
| 671 | 681 | ||
| 672 | ---------------------------------------------------------------------- | 682 | ---------------------------------------------------------------------- |
| 673 | This file is part of GNU Emacs. | 683 | This file is part of GNU Emacs. |