ruby-trunk-changes r31237 - r31241

今日は IO 回りの修正が入っています。

kosaki:r31237 2011-04-04 21:43:28 +0900

IO#syswrite は直接 write(2) を呼び出していましたが、ブロックする可能性があるので rb_thread_io_blocking_region() 経由で GVL を開放して呼ぶように修正しています。 [ruby-core:35554] [Bug #4526]

kosaki:r31238 2011-04-04 22:11:14 +0900

拡張ライブラリ io/nonblock の IO#nonblock= でファイルディスクリプタのフラグに O_NONBLOCK を on/off 操作する際に、既にビットフラグが設定したい状態になっていたら fcntl() を呼ばないようにしています。 F_SETFL は実行時のコストの高い操作なので省略するほうが良いとのことでした。 [ruby-core:35556] [Feature #4528]

svn:r31240 2011-04-05 13:05:22 +0900

version.h の日付更新。

akr:r31241 2011-04-05 20:34:15 +0900

include/ruby/encoding.h の関数マクロの引数にかっこをつける修正です。