ruby-trunk-changes r51195 - r51204

今日は Net::HTTP のレスポンスコード 308 のサポート追加や Windows 版 Process.waitpid の割り込みの扱いの修正などがありました。

nobu: r51195 2015-07-08 20:35:59 +0900

test/lib/leakcheker.rb の LeakChecker#check_fd_leak で IO.console(:close) を呼び出していたのを find_fds の中に移動しています。今は 実質あまり違いがなさそうですが、find_fds を別の場所からも呼ぶことを見据えているのでしょうか。

zzak: r51196 2015-07-09 09:27:04 +0900

Hash リテラルやキーワード引数で同じキーが重複していた時の警告のメッセージを変更しています。 https://github.com/ruby/ruby/pull/938 [ruby-core:69860] [Bug #11327]

svn: r51197 2015-07-09 09:27:23 +0900

version.h の日付更新。

ko1: r51198 2015-07-09 09:35:47 +0900

rb_control_frame_t のメンバーの cfp のオフセットについてのコメントを現状に合わせて書きかえています。

hsbt: r51199 2015-07-09 10:19:01 +0900

標準添付ライブラリ net/http にレスポンスコード 308 Permanent Redirect を追加しています。 RFC 7538 で追加されたレスポンスコードだそうです。 https://github.com/ruby/ruby/pull/961

ko1: r51200 2015-07-09 11:10:51 +0900

メソッド呼び出しの情報の構造体 rb_call_info_t からメンバ klass を削除しています。 rb_iseq_t::klass と同様に control frame stack から rb_callable_method_entry_t を取得して同等の情報を知ることができるようになったため不要になったようです。

ko1: r51201 2015-07-09 13:04:30 +0900

r51200 の修正漏れ。 rb_call_info_t::call への代入を CI_SET_FASTPATH() マクロを利用するように書きかえています。

usa: r51202 2015-07-09 15:10:47 +0900

Windows 版の Process.waitpid で rb_w32_wait_events_blocking() から抜けた時の errno=EINTR のチェックがなかったため例外などで割り込んでも処理が抜けてこない不具合を修正しています。 [ruby-dev:49176] [Bug #11340]

usa: r51203 2015-07-09 15:38:16 +0900

r51202 の再修正。errno=EINTR を直接チェックするのではなくて、rb_w32_wait_events_blocking() の戻り値(正常終了時は発生したイベント数を返す)をチェックして EINTR 判定するようにして、戻り値には -1 を返すようにします。 [ruby-dev:49176] [Bug #11340]

nobu: r51204 2015-07-09 16:54:56 +0900

r51202, r51203 のテストを追加しています。 [ruby-dev:49176] [Bug #11340]