ruby-trunk-changes r44770 - r44776

今日は昨日の変更の再修正やベンチマークスクリプトに無駄なバッファ確保があったのを修正したりしています。

nobu: r44770 2014-01-31 02:51:17 +0900

r44763 のリファクタリングでメソッドの種別の比較の分岐が正しく動かなくなってしまっていたのを修正しています。

svn: r44771 2014-01-31 02:51:20 +0900

version.h の日付更新。

normal: r44772 2014-01-31 03:48:40 +0900

ベンチマークスクリプトを実行するための benchmark/driver.rb でコマンドを実行するためにバッククオートによる実行 `cmd` を使っていたのを system を使い、標準出力を File:NULL のデバイスにリダイレクトして捨てるようにすることで、不要なバッファを確保しなくてよいようにしています。おおーこんなところにムダが隠れていたとは。 [ruby-core:59869] [Bug #9430]

normal: r44773 2014-01-31 04:36:44 +0900

r44772 のベンチマークスクリプトの修正についての ChangeLog エントリ追記。

nobu: r44775 2014-01-31 16:08:52 +0900

r44734 と同様に拡張ライブラリ socket で r44728 の変更で SOCK_CLOEXEC が未定義の時には利用されないラベルが定義されて警告が出力されてしまっていたので #ifdef SOCK_CLOEXEC ... #endif で囲んで警告除去しています。

normal: r44776 2014-01-31 17:06:19 +0900

r44734 や r44775 の拡張ライブラリ socket のコンパイル時の警告除去の方法を、ラベル毎に分岐するのではなくて関数定義自体を SOCK_CLOEXEC の有無で別にするようにしています。 SOCK_CLOEXEC なしの時の定義はスッキリ。まあでも大きく分けると修正漏れとかにも繋りやすかったりして善し悪しだと思いますけどね。 [ruby-core:60377]