ruby-trunk-changes r32404 - r32413

今日は Solaris 対応や coverage のリスタート対応の復活などです。

nagachika:r32404 2011-07-05 00:55:06 +0900

r32401 で coverage のリスタート対応を revert したのを戻して、static 変数 rb_coverages の GC 避けのために rb_gc_register_address() での登録を追加しています。 [ruby-core:37352] [Bug #4927] [ruby-core:36539] [Feature #4796]

svn:r32405 2011-07-05 00:55:10 +0900

version.h の日付更新。

mame:r32407 2011-07-05 01:32:05 +0900

addr2line.c に #include を追加しています。 Solaris でのコンパイルのためだそうです。 がどうやら Free BSD でコンパイルエラーになるみたいです。

mame:r32408 2011-07-05 01:32:12 +0900

Solaris(sun が define されている場合)で FIBER_USE_NATIVE を 0 にして setcontext/swapcontext を利用した Fiber の実装を使わないようにしています。 Solaris で Fiber#resume が SEGV したそうです。

mame:r32409 2011-07-05 01:32:21 +0900

Solaris の cond_timeswait() は現在時刻から +100,000,000秒(約3年3ヶ月と3日くらい)以上の時刻をタイムアウト時刻として渡すと EINVAL で返ってきてしまうため、それ以上の場合は 100,000,000 秒にしています。途中で起きてしまいますが、 spurious wakeup 対策として native_sleep() を呼び出す側が時刻をチェックしているので大丈夫のはず。 [ruby-core:29702] [Bug #1341] 参考 URL: http://download.oracle.com/docs/cd/E19683-01/816-0216/6m6ngupgv/index.html

naruse:r32410 2011-07-05 14:06:05 +0900

WEBrick の修正です。Authorization リクエストの algorithm の値の大文字小文字を無視するようにしています。 これまでも :OperaHack というオプションで(おそらく名前通り Opera の挙動のために)無視するようにしていたの常に有効にしています。 Android のブラウザも小文字を渡すようです。 [ruby-dev:43965] [Feature #4936]
またコミットログによると RFC2616 で Literal texts は case-insensitive に定義されていて、RFC2617 のサンプル実装も大文字小文字を無視しているので常に無視してよいようです。

mame:r32411 2011-07-05 14:08:23 +0900

addr2line.c の #include を HAVE_ALLOCA_H が定義されている時だけにしています。

nobu:r32412 2011-07-05 15:28:07 +0900

Ripper が空のヒアドキュメントをパースした時にヒアドキュメントの終端のイベントを検出しない不具合を修正しています。 [Bug #4543]

naruse:r32413 2011-07-05 19:09:04 +0900

r32410 のテストスクリプトにデバッグ用の出力コードが残っていたのを削除しています。