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