factor/basis/debugger/threads/threads.factor

27 lines
687 B
Factor

! Copyright (C) 2008, 2011 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
USING: accessors debugger continuations threads io io.styles
prettyprint kernel make math.parser namespaces ;
IN: debugger.threads
: error-in-thread. ( thread -- )
"Error in thread " write
[
dup id>> #
" (" % dup name>> %
", " % dup quot>> unparse-short % ")" %
] "" make swap write-object ":" print ;
! ( error thread -- )
[
dup initial-thread get-global eq? [ die ] [
[
error-in-thread. nl
print-error nl
:c
flush
] with-global
stop
] if
] thread-error-hook set-global