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:12:44 -0800
committerKartik K. Agaram <vc@akkartik.com>2014-11-22 00:12:44 -0800
commitbd73a6ffe285acdf67b03f49759f26f808c510d8 (patch)
treef70fb4b788896a2fdf52ea4d401cc77fee0b4889 /mu.arc.t
parent51370addc91cae57e32de58ae71b63ef0bfd33d2 (diff)
downloadmu-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.t2
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)