about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--mu.arc.t17
1 files changed, 17 insertions, 0 deletions
diff --git a/mu.arc.t b/mu.arc.t
index 346243a8..d88cb8b0 100644
--- a/mu.arc.t
+++ b/mu.arc.t
@@ -1851,6 +1851,23 @@
 ;? (quit)
 
 (reset)
+(new-trace "scheduler-deadlock2")
+(add-fns
+  '((f1
+      ((1 integer) <- copy (3 literal)))))
+; running-routines* is empty
+(assert (empty running-routines*))
+; blocked routine
+(let routine make-routine!f1
+  (= rep.routine!sleep '(23 integer))
+  (set sleeping-routines*.routine))
+; but is about to become ready
+(= memory*.23 1)
+(update-scheduler-state)
+(when (~empty completed-routines*)
+  (prn "F - scheduler ignores sleeping but ready threads when detecting deadlock"))
+
+(reset)
 (new-trace "sleep")
 (add-fns
   '((f1