ruby-trunk-changes r31256 - r31261

今日は IO#close の GVL 解放について修正が入りました。

akr:r31256 2011-04-10 22:24:26 +0900

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

drbrain:r31257 2011-04-11 07:24:51 +0900

ext/openssl/ossl.c の rdoc 用コメントの追加/修正です。

svn:r31258 2011-04-11 07:24:54 +0900

version.h の日付更新。

kosaki:r31259 2011-04-11 21:18:32 +0900

File.grpowned? などが呼ぶ rb_group_member() で NGROUPS ぶんの配列をマシンスタック上に確保するためスタックを食い潰していたのでヒープから確保するように修正しています。[ruby-core:35699] [Feature #4568]
ところで Linux Kernel のソースツリーにある scripts/checkstack.pl というので disassemble した命令からスタック消費量のチェックができるんですねぇ。

kosaki:r31260 2011-04-11 21:50:55 +0900

read 中の IO を別の Thread で close した時に read 中の Thread で IOError が発生することを確認するテストを追加しています。これは [Bug #4558] の不具合についてのテスト部分です。 [ruby-core:35669]

kosaki:r31261 2011-04-11 21:52:22 +0900

IO#close を呼ぶと同じ IO オブジェクトを操作中の Thread に IOError が飛ぶという件 [Bug #4558] ですが r31230 の close する時に GVL を解放する修正を revert することで対応しています。