diff --git a/tests/mutex-test.scm b/tests/mutex-test.scm index ee7c2de1..97e24e81 100644 --- a/tests/mutex-test.scm +++ b/tests/mutex-test.scm @@ -225,6 +225,18 @@ Slot Type Meaning (print "Forcing primordial broke mutex-unlock! result: " r (mutex-specific mux)) (test-exit 1))) +(let* ((mux (let ((m (make-mutex 'done))) (mutex-lock! m) m)) + (t (thread-start! + (lambda () + (print "Waiting for mutex " mux " in " (current-thread)) + (let ((r (mutex-lock! mux))) + (print "mutex-lock! succeeded on locked mutex " mux " result " r) + (if r (test-exit 1))))))) + (thread-yield!) + (thread-suspend! t) + (thread-resume! t) + (print "Thread " t " now in state " (thread-state t))) + (cond-expand (dribble (define-for-syntax count 0) (define-syntax trail