In Racket, break-thread is used to send an break exception to a thread.
(let ((th (thread (lambda ()
(lambda () #t)
(lambda () (/ 1 0))
(lambda () (sleep 5) (display "out-guard\n")))))))
For above code, out-guard part of dynmaic-wind will not be interrupted if use break-thread to cancel a thread, and kill-thread will cancel thread immediately.
In Guile, the equivalent of kill-thread is cancel-thread, and is there any equivalent of break-thread?