今日は 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]