ruby-trunk-changes r30917 - r30925

今日は File#flock がブロック中の close の挙動変更、FreeBSD でのシグナルマスクの処理の不具合修正などの修正がありました。

akr:r30917 2011-02-20 00:47:21 +0900

ext/openssl/ossl_bn.c の関数マクロの引数にかっこをつける修正です。

svn:r30918 2011-02-20 00:47:22 +0900

version.h の日付更新。

kosaki:r30919 2011-02-20 03:14:30 +0900

pthread_sigmask の第2、3引数に同じ sigset_t のポインタを渡して新しい値のセットと元の値の取得を同じ変数を使って行なうのは FreeBSD ではサポートされないらしいので別に変数を用意するように修正されています。

ryan:r30920 2011-02-20 05:44:08 +0900

minitest の 2.0.2 (r6207) がとりこまれています。ってほとんど「こっちでかってに変更するな」というコメントの変更だけです。

nobu:r30921 2011-02-20 16:22:57 +0900

rb_file_flock(File#flock) が block する処理のあいだのGVL解放に rb_thread_io_blocking_region を使うようにしています。つまり block 中に他の Thread でファイルが close されると例外が発生して抜けてくるようにしています。

nobu:r30922 2011-02-20 16:23:55 +0900

一時オブジェクトがコンパイラ最適化により GC されてしまう問題の修正。また関数マクロ RSTRING_PTR() は引数を複数回評価するので関数呼び出しを渡すのはよくないので、StringValuePtr() を利用するようにしています。
StringValuePtr! そういうのもあるのか! いやあるのは知っていましたが StringValuePtr() は rb_string_value_ptr(volatile VALUE *) を呼ぶので GC 保護を含んでいるようです。

nobu:r30923 2011-02-20 16:26:42 +0900

新規追加のファイルの property 変更。

nobu:r30924 2011-02-20 16:26:48 +0900

一時オブジェクトのコンパイラ最適化により GC されるのを防いでいます。内部的に利用している構造体をまるごと保護。

akr:r30925 2011-02-20 19:59:48 +0900

ext/openssl/ossl_cipher.c の関数マクロの引数にかっこをつける修正です。