#job-wait/job-killのテストのfailなんですが、多分、t2のjob-waitの中の(job-status job)が返した値がsをバインドした時点から(mutex-unlock! mutex cv timeout)までの間に処理がメインスレッドにスイッチしてjob-mark-killed!(及び誰も待機してない条件変数へのブロードキャスト)をしたときのタイミングっぽいです。その後t2はsが(#fに)バインドされた時点で決定していた動作(条件変数で待機)をするので、t1がjob-run!で放つブロードキャストまでブロック(sleepの終了を待つ。この時点でt1は再びjobのstatus,resultをセット)され、テストコードは'(done 0)を返す。みたいな感じです。多分。
#mutex をロックしてないから cond broadcast 空振りってことか
#ありゃまったくそのとおり。なんでロックなしでいけると思ったんだろうT根T根
#「てんてん」で三点リーダを入力しているんだがタイプミスで「T根T根」になった…