From: matz@... (Yukihiro Matsumoto) Date: 1999-05-27T10:20:55+09:00 Subject: [ruby-dev:7001] Re: IOError in threading まつもと ゆきひろです In message "[ruby-dev:7000] IOError in threading" on 99/05/26, Masaki Fukushima writes: |以下のスクリプトを実行させるとIOErrorが発生しますが、その例外を捕 |捉できません。 たまたま昨日見付けた以下のバグと関係ありそうです. --- eval.c 1999/05/25 08:25:52 1.1.1.3.2.20 +++ eval.c 1999/05/27 00:57:42 @@ -6196,5 +6196,5 @@ th_raise_line = ruby_sourceline; curr_thread = th; - rb_thread_restore_context(main_thread, RESTORE_RAISE); + rb_thread_restore_context(curr_thread, RESTORE_RAISE); } } |foo.rb:16: stream closed (IOError) | |と表示されるだけで、rescueやensureの中身が実行されません。 |そもそも、どちらのスレッドで例外が発生しているのでしょう? 本来current_threadに送るべき例外をmain_threadに送っちゃって るせいだと思います. まつもと ゆきひろ /:|}