(defun test-cleanup () (let* ((cleanedp nil) (thread (threads:make-thread (lambda () (unwind-protect (sleep 999) (setf cleanedp t)))))) (sleep 0.5) (threads:destroy-thread thread) (sleep 0.5) cleanedp))
(test-cleanup)
ABCL-1.0.0 and ABCL-0.27.0 return NIL.
Other implementations I tested all return T -- Allegro, Clozure, LispWorks, SBCL (changing "threads" to "bordeaux-threads").
Of course this isn't a bug since ABCL is free to do what it wishes. Does ABCL wish that?