+ (let ((ok t))
+ (let ((threads (loop repeat 10 collect
+ (sb-thread:make-thread
+ (lambda ()
+ (handler-case
+ (sb-ext:with-timeout 0.5
+ (sleep 5)
+ (setf ok nil)
+ (format t "~%not ok~%"))
+ (timeout ()
+ )))))))
+ (assert (not (raises-timeout-p
+ (sb-ext:with-timeout 20
+ (wait-for-threads threads)))))
+ (assert ok))))
+
+#+sb-thread
+(with-test (:name (:with-timeout :dead-thread))
+ (sb-thread:make-thread
+ (lambda ()
+ (let ((timer (make-timer (lambda ()))))
+ (schedule-timer timer 3)
+ (assert t))))
+ (sleep 6)
+ (assert t))