今日は RubyGems のバージョンが 2.2.2 に更新(実質は昨日すでに更新されていましたが)、SizedQueue#max= の不具合修正、メモリ管理チューニング用の環境変数 RUBY_GC_OLDMALLOC_LIMIT が効いていなかた不具合の修正などがありました。
nobu: r44848 2014-02-06 00:32:35 +0900
大域脱出の制御用の rb_vm_tag を操作するマクロ TH_TMPPOP_TAG() と TH_REPUSH_TAG() はそれぞれ TH_POP_TAG2() と TH_PUSH_TAG2() の別名として定義されていたのですが、 xxx_TAG2() のほうが直接使われていたところはなく不要だったので直接定義するようにしています。また未使用の値のコンパイラ警告を除去するように TH_REPUSH_TAG() に (void) を付加しています。
svn: r44849 2014-02-06 00:32:40 +0900
version.h の日付更新。
drbrain: r44851 2014-02-06 07:18:25 +0900
RubyGems を 2.2.2 に更新しています。 更新履歴はこちら http://rubygems.rubyforge.org/rubygems-update/History_txt.html#label-2.2.2+%2F+2014-02-05
ざっとみるとインストールの高速化、ローカルにホストした gem パッケージの Bundler でのインストールの対応などなど 2.2 系はまだまだよく使われそうな機能のあたりで修正されている感じですね。
normal: r44852 2014-02-06 08:35:06 +0900
拡張ライブラリ thread の SizedQueue の max= メソッドで最大サイズを変更した時に余裕ができた時に書き込みで待っている Thread に通知していなかった不具合を修正しています。取り出しを待っている Thread のほうに誤って通知していたようです。 [ruby-core:60517] [Bug #9343]
ko1: r44853 2014-02-06 09:04:14 +0900
メモリ管理のパラメータをチューニングするための環境変数 RUBY_GC_OLDMALLOC_LIMIT が実際に動作に影響していなかった不具合を修正しています。また環境変数の取り込み用の関数 get_envparam_int() と get_envparam_double() で最小値を等号も含む判定に変更しています。
nobu: r44854 2014-02-06 09:50:22 +0900
r44840 で追加した pack("p") と Marshal.dump の組合せのテストで pack("p") の結果と連結する文字列のエンコーディングを ASCII-8BIT にしておいてエンコーディングが変化しないように修正しています。
nobu: r44855 2014-02-06 10:31:27 +0900
rb_ary_initialize() に rb_ary_modify() を呼んでいるところが2回あるのですが、その間に NUM2LONG() を使っていて、ここでコンテキストスイッチが起きて配列オブジェクトに変更が加えられている可能性があるため、その後で再度チェックしないといけない、ということをコメントに追記しています。 https://github.com/ruby/ruby/pull/526
naruse: r44857 2014-02-06 11:54:08 +0900
dRuby の DRb::ExtServ のテストで代入したまま利用されていないローカル変数がたくさんあったのを削除しています。
hsbt: r44859 2014-02-06 12:08:38 +0900
拡張ライブラリ stringio に概要と簡単な利用例の rdoc 用コメントを追加しています。 https://github.com/ruby/ruby/pull/527
ko1: r44861 2014-02-06 15:26:01 +0900
r44853 で get_envparam_int() と get_envparam_double() の下限値を等号も含むようにしたのをやっぱりやめています。 数値を atoi() や atod() で変換しているため不正な文字列が 0 になるので、下限値 0 にしていた項目でそのような不正な変数の値を受けとった時にも 0 のまま動いてしまうのではじくためだそうです。
ついでに r44853 の ChangeLog エントリの typo 修正もしています。
ko1: r44862 2014-02-06 15:28:40 +0900
get_envparam_int() と get_envparam_double() の警告メッセージが間違っていたのを修正しています。