From: Yusuke ENDOH Date: 2010-02-11T21:30:52+09:00 Subject: [ruby-dev:40399] Re: rubyspec: File.new raises an Errno::EINVAL error with File::APPEND FAILED 遠藤です。 2010年2月11日19:33 Tanaka Akira : > 2010年2月10日23:20 Yusuke ENDOH : >> >> を実行すると、1.8 では Errno::EINVAL が投げられていたのが 1.9 では >> エラーにならなくなっています。 *snip* >> O_APPEND は (write の前に) file offset を終端に持ってくるというだけ >> で、O_RDONLY と組み合わせてはいけないようなことは書かれていないので >> 1.9 が正しい気がします (FILE 構造体をバックエンドにしていると難しい >> のかもしれませんが) 。 > > 1.8.2 から 1.8.8 が間違っている、というのが素直な気がします。 ありがとうございます。そのように rubyspec を修正しました。 > あと、fd から O_APPEND かどうか調べられない環境では現状の 1.8 でも > EINVAL にはなっていない気がしますね。Windows とか? rubyspec って普通に fork とか使っていて、windows のことをあまり 考えてないような気がします。最近 fork があるかどうかを判定する guard が入りましたが。 -- Yusuke ENDOH