ruby-trunk-changes r33821 - r33829

IO#fsync, IO#fdatasync が GVL を解放するようになる変更が行なわれました。

emboss:r33821 2011-11-24 08:15:09 +0900

openssl の例外を発生させる ossl_raise() が引数のメッセージの後に ":" をつけて例外メッセージを生成するのに、ossl_raise() に渡すメッセージに ":" を付与して重複していたところを削除しています。 [ruby-core:40896] [Bug #5604]

svn:r33822 2011-11-24 08:15:13 +0900

version.h の日付更新。

emboss:r33823 2011-11-24 08:17:59 +0900

r33821 の ChangeLog エントリにパッチ提供者の表示を追加。

naruse:r33824 2011-11-24 09:46:34 +0900

Thread#priority= で Thread の priority を設定した時のテストで、設定する priority の差を大きくすることでたまたま結果が逆転してしまう可能性を低減しているそうです。

emboss:r33825 2011-11-24 10:09:55 +0900

OpenSSL::Engine のテストで RC4 を用いた暗号化の時に OpenSSL 自体が標準エラー出力にメッセージを出力してしまうので、テストの時にこれを抑制できるようにこのテストの間 stderr を reopen で IO::NULL に振り向けるようにしています。 [ruby-core:41026] [Bug #5633]
しかし多分これだと ensure での復旧が $stderr への代入になってるので、内部的に fd:2 はそのままになりそう。再度 reopen して err_backup.close が best か。

kosaki:r33826 2011-11-24 11:57:57 +0900

IO#fsync, IO#fdatasync の fsync(2), fdatasync(2) の呼び出しのあいだ GVL を解放するようにしています。

akr:r33827 2011-11-24 12:08:52 +0900

IO#pos= でファイルポインタを移動した場合のその後の read(実際は gets を使ってますが)した時の挙動のテストを追加しています。

akr:r33828 2011-11-24 20:00:35 +0900

IO#reopen で stdout/stderr のバッファリングを無効にする(stdout は出力先が端末の時だけ)ように setvbuf(3) の呼び出しを追加しています。

akr:r33829 2011-11-24 20:07:50 +0900

r33825 の OpenSSL::Engine のテストの後始末を IO#reopen で stderr を復旧するように修正しています。また STDIN/STDOUT/STDERR や $stdin/$stdout/$stderr の fileno をチェックするテストも追加しています。