Try to make test :deferrables-unblocked-by-lock more robust
authorDavid Lichteblau <david@lichteblau.com>
Sun, 30 Sep 2012 11:59:28 +0000 (13:59 +0200)
committerDavid Lichteblau <david@lichteblau.com>
Sun, 30 Sep 2012 12:14:24 +0000 (14:14 +0200)
  - 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.

tests/threads.impure.lisp

index 196261d..cf9c676 100644 (file)
@@ -86,7 +86,7 @@
 
 (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
@@ -95,7 +95,7 @@
                                   (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