about summary refs log tree commit diff stats
path: root/mu.arc.t
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2014-11-22 00:22:22 -0800
committerKartik K. Agaram <vc@akkartik.com>2014-11-22 00:22:22 -0800
commit85974128f4bf901ac647f170b10b3007b6a707ac (patch)
tree7e8583619ebc282ad8849e95f9e20e23fc733cc1 /mu.arc.t
parentbd73a6ffe285acdf67b03f49759f26f808c510d8 (diff)
downloadmu-85974128f4bf901ac647f170b10b3007b6a707ac.tar.gz
293 - unit test for misplaced deadlock
Diffstat (limited to 'mu.arc.t')
-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