X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tests%2Fthreads.pure.lisp;h=b10820a594d2e8be5903d992afaab7c9b010fa19;hb=ed891a4fd882d1b9fe066ab14bcf2107aea95baa;hp=3d7d5242aebea4408be4605ea059c8a1053d60bf;hpb=819f15f7078c086378dc7b5a5a5fc4189b5b526c;p=sbcl.git diff --git a/tests/threads.pure.lisp b/tests/threads.pure.lisp index 3d7d524..b10820a 100644 --- a/tests/threads.pure.lisp +++ b/tests/threads.pure.lisp @@ -54,11 +54,9 @@ ;;; GET-MUTEX should not be interruptible under WITHOUT-INTERRUPTS #+sb-thread -(with-test (:name without-interrupts+get-mutex - :fails-on :sb-lutex) +(with-test (:name without-interrupts+get-mutex) (let* ((lock (make-mutex)) - (foo (get-mutex lock)) - (bar nil) + (bar (progn (get-mutex lock) nil)) (thread (make-thread (lambda () (sb-sys:without-interrupts (with-mutex (lock) @@ -73,3 +71,16 @@ (assert (not (thread-alive-p thread))) (assert (eq :aborted (join-thread thread :default :aborted))) (assert bar))) + +#+sb-thread +(with-test (:name parallel-find-class) + (let* ((oops nil) + (threads (loop repeat 10 + collect (make-thread (lambda () + (handler-case + (loop repeat 10000 + do (find-class (gensym) nil)) + (serious-condition () + (setf oops t)))))))) + (mapcar #'sb-thread:join-thread threads) + (assert (not oops))))