Shyouhei Urabe さんは書きました:
> パッチあててみましたがtest/test_timeout.rbがハングするようになりますね。
> そこまでシンプルな話でもなさそう。

よくわかってないまま試行錯誤を繰り返すのも
どうかとは思ったのですが、
たとえばこんな感じだとtest_timeout.rbは通るようです。

Index: eval.c
===================================================================
--- eval.c      (revision 24384)
+++ eval.c      (working copy)
@@ -11378,7 +11378,7 @@
            break;
        }
        if ((th->status == THREAD_RUNNABLE || th == th_found) && th->stk_ptr) {
-           if (!next || next->priority < th->priority) {
+           if (!next || next->priority < th->priority || th == th_found && next->priority == th->priority) {
                 if (th == th_found) {
                     th_found->status = THREAD_RUNNABLE;
                     th_found->wait_for = 0;

# 今回はtest/runner.rbを実行して、パッチあり・なしで違いがでないところまでは確認しました。

-- 
やまだ