diff options
author | Kartik K. Agaram <vc@akkartik.com> | 2014-11-22 00:12:44 -0800 |
---|---|---|
committer | Kartik K. Agaram <vc@akkartik.com> | 2014-11-22 00:12:44 -0800 |
commit | bd73a6ffe285acdf67b03f49759f26f808c510d8 (patch) | |
tree | f70fb4b788896a2fdf52ea4d401cc77fee0b4889 /mu.arc.t | |
parent | 51370addc91cae57e32de58ae71b63ef0bfd33d2 (diff) | |
download | mu-bd73a6ffe285acdf67b03f49759f26f808c510d8.tar.gz |
292 - back to state of commit 276
What have we learned? a) You can't detect deadlock between running a thread and waking up sleeping threads -- you may miss threads that are about to become available. b) Most of the context-switching code in 'run' shouldn't assume routine* is correctly set. That's just for 'run-for-time-slice' and for checking on blocked threads. I was implicitly requiring it when I shouldn't, and not setting it when checking blocked threads. Before I fix the next failing test I want to write unit tests for a) above.
Diffstat (limited to 'mu.arc.t')
-rw-r--r-- | mu.arc.t | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/mu.arc.t b/mu.arc.t index 3740a1b7..346243a8 100644 --- a/mu.arc.t +++ b/mu.arc.t @@ -2316,7 +2316,7 @@ ((ochan channel-address) <- arg) ((x tagged-value-address) <- new-tagged-value (integer-address literal) (n integer-address)) ((ochan channel-address deref) <- write (ochan channel-address deref) (x tagged-value-address deref))))) -(set dump-trace*) +;? (set dump-trace*) ;? (= dump-trace* (obj whitelist '("schedule" "run" "addr"))) ;? (= dump-trace* (obj whitelist '("-"))) (run 'f1) |