diff options
-rw-r--r-- | mu.arc.t | 17 |
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 |