ruby-trunk-changes r64585 - r64589

今日は mswin での default gem インストールのエラー対応や fork 時に Fiber が使われてた時にその時点の Fiber を root fiber にする修正などがありました。

hsbt: r64585 2018-08-28 22:42:39 +0900

tool/rbinstall.rb で default gem の install が Dir.glob の挙動の違い? で Windows で失敗していたので事前に Gem::Util.glob_files_in_dir で展開してから渡すようにしています。 Gem::Specification.each_gemspec も中で Gem::Util.glob_files_in_dir を呼んでいるので、ワイルドカードが複数になるとだめとか? [ruby-core:88699] [Bug #15035]

eregon: r64586 2018-08-28 23:55:33 +0900

rubyspec の socket のテストで AIX で通らない spec の platform_is_not の guard に :aix を追加しています。

normal: r64587 2018-08-29 11:23:14 +0900

構造体 rb_context_t から未使用になってた?メンバー ensure_list を削除しています。 あれ ec->ensure_list は使ってる……と思ったら rb_execution_context_t じゃなくて rb_context_t でしたね。Fiber というか Continuation の内部で使っているやつ。

svn: r64588 2018-08-29 11:23:15 +0900

version.h の日付更新。

normal: r64589 2018-08-29 17:04:09 +0900

Kernel#fork などで fork した時に main thread のその時点での fiber を rb_thread_t::root_fiber にセットしてそいつがその Thread の root fiber であるかのように偽装するようにしています。おー。しかし本来の root fiber だったやつのマシンスタックとかはどうなるんだろうこれ……。 [ruby-core:88723] [Bug #15041]