1.0.14.1: lisp-side interrupt handling improvements
authorNikodemus Siivola <nikodemus@random-state.net>
Mon, 28 Jan 2008 15:10:54 +0000 (15:10 +0000)
committerNikodemus Siivola <nikodemus@random-state.net>
Mon, 28 Jan 2008 15:10:54 +0000 (15:10 +0000)
commitfe420bb47ea909070ee82c6e48642c9ff41dbcc8
tree70379aacf558994cd6e921b23abc51c5a6a8ba0c
parent8679d281baac46e6de38333f4928c3f3d1aa87ac
1.0.14.1: lisp-side interrupt handling improvements

 * Stack-top hint for interrupts: clears the uninteresting frames from
   the top of a SIGINT backtrace.

 * Revert to a defunless WITHOUT-INTERRUPTS &co: less useless
   interrupt twiddling frames in backtraces -- now there should only
   be occasional #:WITHOUT-INTERRUPTS-BODY frames, and those only when
   there is at least something moderately interesting going on. There
   is a balance to be struck here, though, and this may be too far in
   the opposite direction...

 * Interrupt safe SORT.

 * ADJUST-ARRAY doesn't need to disable interrupts anymore.

 * Handle internal errors using WITH-INTERRUPT-BINDINGS as well: with
   sufficently bad luck one could eg. signal a continuable error (via
   the internal error code-path) from eg . :KEY to SORT and then
   corrupt the temporary vector in handler. It seems also possible to
   construct a similar case that would cause bogus metacircles to be
   detected -- this is easier to reason about.
NEWS
src/code/array.lisp
src/code/interr.lisp
src/code/signal.lisp
src/code/sort.lisp
src/code/target-signal.lisp
src/code/target-thread.lisp
version.lisp-expr