freenode/#sbcl - IRC Chatlog
Search
20:54:56
phoe
I am currently debugging this - it might because I'm carelessly calling destroy-thread on thousands of threads
21:02:06
phoe
and given that I've seen totally weird things going on during this denugging I could guess there's some corruption going on
21:02:23
phoe
so, first thing - rewrite this code to not use destroy-thread and instead tell the threads to finish gracefully, somehow
21:13:22
phoe
Does executing a Lisp destroy-thread unwind its stack and execute all unwind-protect cleanup forms?
21:17:11
phoe
just curious now - is there any way out of (tagbody :start (unwind-protect (loop) (go :start))) ?
21:19:30
phoe
and if destroy-thread executes cleanup forms, then we go to :start and enter the loop anew
23:24:36
stassats
(current-unwinds ) => (SWANK::EVAL-REGION SWANK-REPL::TRACK-PACKAGE SWANK:EVAL-FOR-EMACS SWANK::CALL-WITH-BINDINGS (FLET SB-UNIX::BODY :IN SB-THREAD::INITIAL-THREAD-FUNCTION-TRAMPOLINE) (FLET SB-UNIX::BODY :IN SB-THREAD::INITIAL-THREAD-FUNCTION-TRAMPOLINE) (FLET "WITHOUT-INTERRUPTS-BODY-4" :IN SB-THREAD::INITIAL-THREAD-FUNCTION-TRAMPOLINE) (FLET SB-THREAD::WITH-MUTEX-THUNK :IN SB-THREAD::INITIAL-THREAD-FUNCTION-TRAMPOLINE) (FLET
23:24:36
stassats
"WITHOUT-INTERRUPTS-BODY-1" :IN SB-THREAD::CALL-WITH-MUTEX) SB-THREAD::CALL-WITH-MUTEX)