[#20227] dyna_vars problem? — Tanaka Akira <akr@...17n.org>

しばらく前から、稀に Ruby が core を吐くという問題を追いかけているので

15 messages 2003/05/19
[#20234] Re: dyna_vars problem? — matz@... (Yukihiro Matsumoto) 2003/05/19

まつもと ゆきひろです

[#20236] Re: dyna_vars problem? — Tanaka Akira <akr@...17n.org> 2003/05/19

In article <1053363181.529491.30320.nullmailer@picachu.netlab.jp>,

[ruby-dev:20270] Re: pipe reopen

From: matz@... (Yukihiro Matsumoto)
Date: 2003-05-21 17:29:14 UTC
List: ruby-dev #20270
まつもと ゆきひろです

In message "[ruby-dev:20269] Re: pipe reopen"
    on 03/05/22, nobu.nakada@nifty.ne.jp <nobu.nakada@nifty.ne.jp> writes:

|ちょっと書き直してテストしていたら、rb_thread_fd_close()が書き
|込みに対して効いていないのに気づきました。
|
|$ ruby -e 'f = open("|sleep 100", "r+"); Thread.start{sleep 3;f.close}; loop{f.puts("x")}'
|-e:1:in `write': Interrupt      from -e:1:in `puts'
|        from -e:1
|        from -e:1:in `loop'
|        from -e:1
|
|まだrb_thread_schedule()でのEBADFの対処がまずいような気もします
|が、こんなところで。
|
|* IO#close,IO#reopen: 書き込み中のスレッドにも例外を上げる
|* IO#reopen: 例外を上げるのは、元のdescriptorを閉じた後
|* IO#reopen: stdin,stdout,stderrの場合、FILE*を使い回す

全部を詳細に検討してはいませんが、よさそうに見えます。
コミットしてください。

In This Thread

Prev Next