- Use a join thread, not a kill thread, so that we do not kill the
background thread while it is currently performing the actual
test.
- Give the thread more time to start up, to make it more likely
that its GRAB-MUTEX call needs to wait -- otherwise deferrables would
not be unblocked.
(with-test (:name (:interrupt-thread :deferrables-unblocked-by-lock))
(let ((lock (sb-thread::make-mutex))
- (thread (make-kill-thread (lambda ()
+ (thread (make-join-thread (lambda ()
(loop (sleep 1))))))
(sb-thread::grab-mutex lock)
(sb-thread:interrupt-thread thread
(sb-thread::grab-mutex lock)
(check-deferrables-unblocked-or-lose 0)
(sb-thread:abort-thread)))
- (sleep 1)
+ (sleep 3)
(sb-thread::release-mutex lock)))
;;; compare-and-swap