projects
/
sbcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Port tests/expect.sh, foreign.test.sh to FreeBSD's shell
[sbcl.git]
/
tests
/
packages.impure.lisp
diff --git
a/tests/packages.impure.lisp
b/tests/packages.impure.lisp
index
3b5273e
..
82ef917
100644
(file)
--- a/
tests/packages.impure.lisp
+++ b/
tests/packages.impure.lisp
@@
-290,14
+290,17
@@
if a restart was invoked."
:good)))))
;;; MAKE-PACKAGE error in another thread blocking FIND-PACKAGE & FIND-SYMBOL
: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))
(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)
(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))))))
(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)))