X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=tests%2Ftest-util.lisp;h=d6246bfa9411c17bf8fc07f228408dcb05ca801b;hb=9bdd2579f980573a74daabe03120ed64b1733b11;hp=1d44174072fd7ab97172c74578c788f5204fad0a;hpb=83fc8f3154fa6ffe1c9451399eb23586ae07357d;p=sbcl.git diff --git a/tests/test-util.lisp b/tests/test-util.lisp index 1d44174..d6246bf 100644 --- a/tests/test-util.lisp +++ b/tests/test-util.lisp @@ -39,7 +39,7 @@ (defmacro with-test ((&key fails-on broken-on skipped-on name) &body body) (let ((block-name (gensym)) - (threads (gensym "THREADS"))) + #+sb-thread (threads (gensym "THREADS"))) `(progn (start-test) (cond @@ -69,6 +69,10 @@ (setf ,threads (union (union *threads-to-kill* *threads-to-join*) ,threads)) + #+(and sb-safepoint-strictly (not win32)) + (dolist (thread (sb-thread:list-all-threads)) + (when (typep thread 'sb-thread:signal-handling-thread) + (ignore-errors (sb-thread:join-thread thread)))) (dolist (thread (sb-thread:list-all-threads)) (unless (or (not (sb-thread:thread-alive-p thread)) (eql thread sb-thread:*current-thread*)