1.0.25.21: handling of potential corruptions
authorGabor Melis <mega@hotpop.com>
Mon, 16 Feb 2009 21:36:13 +0000 (21:36 +0000)
committerGabor Melis <mega@hotpop.com>
Mon, 16 Feb 2009 21:36:13 +0000 (21:36 +0000)
commitd1873cc3f7a09f9891bb9c05f206af1774876c0c
tree28b88d8496b14a828ce7844e701d25b7ad7a4ffd
parentc26d6a3c601d29e4de039bbea429fc2d3353a6c9
1.0.25.21: handling of potential corruptions

- add corruption_warning_and_maybe_lose that prints a warning and
  loses depending on lose_on_corruption_p (false by default)
- use corruption_warning_and_maybe_lose when the control stack is
  exhausted and on memory faults
- use corruption_warning_and_maybe_lose on the lisp handlers of
  SIGILL, SIGBUS and SIGEMT, as invoking them is surely not a good
  sign.
- add --lose-on-corruption as a runtime option
- add --disable-ldb as a runtime option
- update the man page and the user manual
- HEAP-EXHAUSTED fixes:
  - exit pseduo atomic properly and do pending interrupt if needed
  - signalling HEAP-EXHAUSTED in a WITHOUT-INTERRUPTS is dangerous
- use --lose-on-corruption in make-target*.sh

Also, block blockable signals on lose() to prevent other threads,
timers and such from interfering. If only all threads could be stopped
somehow.
NEWS
doc/manual/start-stop.texinfo
doc/sbcl.1
make-target-2.sh
make-target-contrib.sh
src/runtime/gencgc.c
src/runtime/interr.c
src/runtime/interr.h
src/runtime/interrupt.c
src/runtime/runtime.c
version.lisp-expr