There is something distinctly odd with wiker's multi-proc port. That's
not suprising since it isn't officially supported.
What is odd is that under sbcl-0.6.13 it will work if you do the following.
; first add the defconstants for ITIMER-*
debugger invoked on condition of type UNBOUND-VARIABLE:
The variable SB-IMPL::*CURRENT-CATCH-BLOCK* is unbound.
Within the debugger, you can type HELP for help. At any command prompt
the debugger or not) you can type (SB-EXT:QUIT) to terminate the SBCL
executable. The condition which caused the debugger to be entered is
*DEBUG-CONDITION*. You can suppress this message by clearing
0: [ABORT ] Reduce debugger level (leaving debugger).
1: [TOPLEVEL] Restart at toplevel READ/EVAL/PRINT loop.
#<SB-DEBUG::UNPRINTABLE-OBJECT unavailable argument>)
; file: /home/brian/lisp/SBCL-multi/multi-proc.lisp
(SETF (STACK-GROUP-CURRENT-CATCH-BLOCK STACK-GROUP)
* (setf sb-impl::*current-catch-block* 0)
Init. working 0 3.0000000000575113d0
Init. working 1 5.000000000337067d0
Init. working 2 7.000000000616623d0
Init. working 3 9.000000000008d0
Init. working 4 10.9999999985112d0
Init. working 5 12.999999997014399d0
Init. working 6 14.999999995517598d0
Init. working 7 16.999999995797154d0
Init. working 8 18.999999997853067d0
Init. working 9 20.99999999990898d0
Init. working 10 23.000000001964892d0
which looks good,
the really odd thing (apart from *current-catch-block* being unbound -
it should be bound to 0 from src/complier/generic/genesis...)
is that if you define *current-catch-block* and
*current-unwind-protect-block* before trying (mp::tst), it will generate
Something is not being set up properly until an error handler is