aboutsummaryrefslogtreecommitdiffstats
path: root/ChangeLog
diff options
context:
space:
mode:
authorDmitry Antipov2014-08-26 10:25:59 +0400
committerDmitry Antipov2014-08-26 10:25:59 +0400
commitebd31792b292f63f09efa498b5df73bf86107259 (patch)
tree8cd196b0c4c03a3e76e00ed6c0fa010af49d3aea /ChangeLog
parent940ac42ae3d5c5c5d80f984278446ab34c0bb26a (diff)
downloademacs-ebd31792b292f63f09efa498b5df73bf86107259.tar.gz
emacs-ebd31792b292f63f09efa498b5df73bf86107259.zip
Handle C stack overflow caused by too nested Lisp evaluation.
* configure.ac: Check for sigaltstack and related sigaction support. Unconditionally check for sigsetjmp and siglongjmp. (HAVE_STACK_OVERFLOW_HANDLING): Define if we can support it. * src/lisp.h (toplevel) [HAVE_STACK_OVERFLOW_HANDLING]: Declare siglongjmp point to transfer control from SIGSEGV handler. * src/keyboard.c (return_to_command_loop, recover_top_level_message) [HAVE_STACK_OVERFLOW_HANDLING]: New variables. (regular_top_level_message): New variable. (command_loop) [HAVE_STACK_OVERFLOW_HANDLING]: Handle non-local exit from SIGSEGV handler and adjust message displayed by Vtop_level if appropriate. (syms_of_keyboard): DEFVAR Vtop_level_message and initialize new variables described above. * src/sysdep.c [HAVE_SYS_RESOURCE_H]: Include sys/resource.h as such. (stack_grows_down, sigsegv_stack, handle_sigsegv) [HAVE_STACK_OVERFLOW_HANDLING]: New variables and function. (init_sigsegv): New function. (init_signals): Use it. * lisp/startup.el (normal-top-level): Use top-level-message.
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog7
1 files changed, 7 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index de9f3a0bef4..67fc0b87bcb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
12014-08-26 Dmitry Antipov <dmantipov@yandex.ru>
2
3 Detect features needed to handle C stack overflows.
4 * configure.ac: Check for sigaltstack and related sigaction
5 support. Unconditionally check for sigsetjmp and siglongjmp.
6 (HAVE_STACK_OVERFLOW_HANDLING): Define if we can support it.
7
12014-08-25 Ken Brown <kbrown@cornell.edu> 82014-08-25 Ken Brown <kbrown@cornell.edu>
2 9
3 * configure.ac (G_SLICE_ALWAYS_MALLOC): Remove obsolete macro. 10 * configure.ac (G_SLICE_ALWAYS_MALLOC): Remove obsolete macro.