:good)))))
;;; MAKE-PACKAGE error in another thread blocking FIND-PACKAGE & FIND-SYMBOL
-#+sb-thread
-(with-test (:name :bug-511072)
+(with-test (:name :bug-511072 :skipped-on '(not :sb-thread))
(let* ((p (make-package :bug-511072))
- (sem (sb-thread:make-semaphore))
- (t2 (sb-thread:make-thread (lambda ()
- (handler-bind ((error (lambda (c)
- (sb-thread:signal-semaphore sem)
- (signal c))))
- (make-package :bug-511072))))))
- (sb-thread:wait-on-semaphore sem)
- (assert (eq 'cons (read-from-string "CL:CONS")))))
+ (sem1 (sb-thread:make-semaphore))
+ (sem2 (sb-thread:make-semaphore))
+ (t2 (make-join-thread (lambda ()
+ (handler-bind ((error (lambda (c)
+ (sb-thread:signal-semaphore sem1)
+ (sb-thread:wait-on-semaphore sem2)
+ (abort c))))
+ (make-package :bug-511072))))))
+ (sb-thread:wait-on-semaphore sem1)
+ (with-timeout 10
+ (assert (eq 'cons (read-from-string "CL:CONS"))))
+ (sb-thread:signal-semaphore sem2)))