From: nobu.nakada@... Date: 2003-10-10T21:39:33+09:00 Subject: [ruby-dev:21597] Re: rewinding for Thread なかだです。 At Thu, 9 Oct 2003 15:38:43 +0900, Yukihiro Matsumoto wrote: > |rb_block_pass()はstaticでもまったく問題はありませんが、ブロック > |を積んで任意の関数を呼べるというのは、内部的には何かと便利のよ > |うな気がします。 > > 最終的にはrb_funcall_with_block()のようなAPIを用意するんじゃ > ないかと思います。 それはメソッド呼び出し専用ですよね。C用のAPIとしては直接使える block_pass()的なものも需要がありそうな気がします。 それはそれとして、[ruby-dev:21568,21569]では不十分でした。 prot_tagだけではなくてネストするインタープリタの状態をすべて復 帰しないと、巻き戻されたスタック上のポインタをたどってしまうの で、スレッドの中からスレッドを作るときにまずいことになります。 さらに大きくなったので、リンクだけ。 http://nokada.jin.gr.jp/ruby/rewinding-thread.diff -- --- 僕の前にBugはない。 --- 僕の後ろにBugはできる。 中田 伸悦