ruby-trunk-changes 2020-09-18

今日は blocking fiber まわりの修正や Ractor 関連の修正などがありました。

[63a4f2f93f] Kazuhiro NISHIYAMA 2020-09-17 11:30:59 UTC

NEWS.md のチケット番号をリンクにするための footnote の順序をチケット番号順にソートしています。

[e4dbb91f4c] Kazuhiro NISHIYAMA 2020-09-17 11:34:59 UTC

doc/ChangeLog-1.9.3 やテストメソッドなどの overriden を overridden に修正。

[c3acfcc78d] Benoit Daloze 2020-09-17 10:55:17 UTC

test/fiber/scheduler.rb のちょっとしたリファクタリング

[738a089b3a] Benoit Daloze 2020-09-17 12:30:40 UTC

blocking fiber のための Scheduler クラス実装のための C API の関数名を改名しています。

[9472d16061] Benoit Daloze 2020-09-17 12:45:44 UTC

blocking fiber の対応。 rb_thread_sleep_deadly_allow_spurious_wakeup() で Scheduler クラスの kernel_sleep メソッドのかわりに block メソッドを呼ぶように変更しています。

[deffb63021] Benoit Daloze 2020-09-17 12:52:04 UTC

test/fiber/scheduler.rb にいくつかコメントを追加しています。

[264889ec3d] Benoit Daloze 2020-09-17 13:15:43 UTC

thread_sync.c の rb_mutex_unlock_th() で Thread に scheduler がない時の処理を else 節のなかに移動しています。異常終了の不具合修正のようです。

[d01954632d] Benoit Daloze 2020-09-17 15:26:52 UTC

264889ec3d3d38fc1fd23c4fb48402f1367a8deb の追加修正。 rb_mutex_unlock_th() で Thread に shceduler が設定されてた時に goto でロック取得待ちの Thread のループを抜けるようにしています。

[d9b943b8e5] Benoit Daloze 2020-09-17 15:29:43 UTC

thread_sync.c のコメントアウトされてたコードの削除。

[609e6ac0ca] git 2020-09-17 15:30:47 UTC

version.h の日付更新

[dd5db6f5fe] Koichi Sasada 2020-09-16 00:04:13 UTC

String オブジェクトの解放処理 rb_str_free() で fstring 管理用テーブルの操作をしているところでの Ractor 用の排他処理漏れを修正。

[b189dc6926] Koichi Sasada 2020-09-16 00:05:25 UTC

デバッグ出力用の rb_raw_obj_info() で T_SYMBOL 型オブジェクトに対応。

[b416a76402] Koichi Sasada 2020-09-16 00:06:08 UTC

Thread 起動時に Ractor のセットアップする vm_insert_ractor() に複数の Ractor が動作している場合のデバッグログを RUBY_DEBUG_LOG() で追加しています。

[06e9b94d40] Koichi Sasada 2020-09-16 00:11:16 UTC

rb_ractor_confirm_belonging() の条件分岐に UNLINKELY() を追加したり rp でデバッグ出力を追加したりしています。 rp って .gdbinit とかで定義してるコマンドじゃなかったっけ、と思ったら internal.h でマクロとして定義されていたオブジェクト内容をダンプするものですね。

[3b159374a2] Koichi Sasada 2020-09-16 00:15:10 UTC

ruby_global_symbols というグローバル変数で Symbol の ID と対応する文字列を管理しているものに Ractor からアクセスする時に排他処理するように修正しています。

[b5db9b8a31] aycabta 2020-08-04 06:46:39 UTC

標準添付ライブラリ rdoc でリンク先としてファイル名の指定も対応するようにしています。

[e23f0f29da] Nobuyoshi Nakada 2019-09-28 05:45:44 UTC

標準添付ライブラリ rdoc で --force-update オプションが指定されていた時に一部でも新しいファイルがあったら全ファイルを parse しなおすようにしています。cross reference の処理のために必要らしい。

[0d56aec1dd] Dorian Marié 2020-07-07 23:07:56 UTC

標準添付ライブラリ rdoc のコメントの typo 修正。

[305c430603] aycabta 2020-08-01 14:40:10 UTC

標準添付ライブラリ rdoc の gemspec の spec.files に man/ri.1 を追加しています。

[5bb5e706f1] Benoit Daloze 2020-09-18 08:39:27 UTC

thread_sync.c の sync_wakeup() で blocking fiber 対応のコードの Thread の schedule 設定有無チェック漏れを修正。

[af1926e859] Benoit Daloze 2020-09-18 09:11:47 UTC

5bb5e706f1d310a467075630145d2cc277045765 で追加した分岐の条件が反転していたのを修正しています。コミットログと言ってることが反対だなぁと思った。

[3d86f7a37c] Hiroshi SHIBATA 2020-09-18 09:44:46 UTC

tool/sync_default_gems.rb の erb 用の同期処理で upstream リポジトリ内のコマンドファイルのパスを exe から libexec に対応しています。

[6dd257ed1e] Hiroshi SHIBATA 2020-09-18 09:47:52 UTC

tool/sync_default_gems.rb に拡張ライブラリ bigdecimal の同期の処理を追加しています。