From: matz@... (Yukihiro Matsumoto) Date: 2002-08-21T16:20:13+09:00 Subject: [ruby-dev:18054] Re: [Bug] rb_thread_create sometimes returns 0 まつもと ゆきひろです In message "[ruby-dev:18052] [Bug] rb_thread_create sometimes returns 0" on 02/08/21, Tietew writes: |次のコードで,rb_thread_create が 0 を返す(rb_thread_start_0 の |コメントで not reached となっている部分を通過する!)ために | undefined method `value' for false (NameError) |という意味不明な例外が発生してしまうことがあります。 | |ここで最終的に rb_load しようとしているスクリプトにはただ一行 | raise |と書いてあるものです。また,メインスレッドの他に走っているスレッ |ドはありません。 手元ではそのままでコンパイルできませんでしたし、少々手を加え てコンパイルを通るようにしたものは例外を発生させませんでした。 というわけで、もうちょっと情報がないとデバッグできません。 |解決策は rb_thread_start_0 の最後で return 0; じゃなくて |return thread; にすればいいんじゃないかと思うんですが,確信が持 |てません。 これではだめなんだと思います。つまり、return 0が返るというこ とはrb_thread_start_0()が2度返っているということですから。 まつもと ゆきひろ /:|)