今日は win32/win32.c の排他処理の追加や Module#prepend で循環する継承関係になるエラー時の副作用をなくす修正などがありました。
[58e8220605] Alan Wu 2021-02-13 03:45:08 UTC
2d877327e12f499ac1a0d7096f4314cc92ef228e の続きで、Module#prepend で循環する継承関係になってないかのチェックを prepend のために T_ICLASS を差し込むための origin を生成する前に行うことで、エラー時に副作用がないようにしています。 [ruby-core:102283] [Bug #17590]
[7d4a3ac0c5] git 2021-02-22 22:58:05 UTC
version.h の日付更新
[09c74a1702] Lars Kanis 2021-02-22 15:35:47 UTC
089b7a84606925e885fe91050483a352735aa91e の再修正。doc/extension.rdoc に追記したサンプル内の変数名の typo 修正。
[0d76636117] Andrew Aladjev 2021-02-22 22:35:01 UTC
win32/win32.c の constat_delete()、vm_exit_handler()、socklist_insert()、socklist_lookup() などの Windows で socket を管理するためのリストの操作を排他処理するための Mutex を追加しています。 Ractor 対応のためかな。
[95251dc8a9] Takashi Kokubun 2021-02-23 07:38:44 UTC
edd25382687c840f10eec23d72fa08ebd3515fbf で pull request を master に向けさせるようにするために追加した GitHub Actions の workflow .github/workflows/check_branch.yml を削除しています。コミットログによると本来の意図とは違ってコミットログに [ci skip] が含まれているためにマージできない pull request ができてしまうとのことで、もう必要はなくなったので消すとのこと。
[b956efdc1e] Takashi Kokubun 2021-02-23 07:46:04 UTC
GitHub Actions の設定に明示的にコミットログに "[ci skip]" が含まれてたら処理しないという if が含まれてたのを削っています。GitHub Actions がデフォルトに "[ci skip]" などのキーワードに対応したので不要になったそうです。 https://github.blog/changelog/2021-02-08-github-actions-skip-pull-request-and-push-workflows-with-skip-ci/
[19cc24b34b] Nobuyoshi Nakada 2021-02-23 07:22:43 UTC
0d76636117c99921ac7c43293ba7962d22e72fbd の続きで win32/win32.c に追加した mutex を使って排他処理するあたりを thread_exclusive() というマクロ化して for 文にすることでブロックっぽく賭けるようにしています。
[da18d6f015] Nobuyoshi Nakada 2021-02-23 10:08:31 UTC
win32/win32.c の errmap の宣言に const 修飾子を追加。また get_wsa_extension_function() の引数 guid をポインタで渡してたのを値渡しするようにしています。
[41eb4fbf86] Nobuyoshi Nakada 2021-02-23 11:46:40 UTC
19cc24b34b0490b7c2779eec521fe0089e05f183 の続きで thread_exclusive() を使うリファクタリングの追加と constat_handle() の EnterCriticalSection()/LeaveCriticalSection() による排他処理を不要にするリファクタリングをしています。
[5a4742a0b4] Nobuyoshi Nakada 2021-02-23 11:51:02 UTC
19cc24b34b0490b7c2779eec521fe0089e05f183 および 41eb4fbf86e7ae9c9ff993e07a19fa44eb74be9b の続きで win32/win32.c にもうひとつ uenvarea_mutex という mutex を追加して w32_getenv() に排他処理を追加しています。
[819dd464de] Nobuyoshi Nakada 2021-02-23 12:23:46 UTC
19cc24b34b0490b7c2779eec521fe0089e05f183 および 41eb4fbf86e7ae9c9ff993e07a19fa44eb74be9b、5a4742a0b4d57e95d6ed7e27c786a74e7cb55977 の続きで constat_handle() に thread_exclusive() マクロを使った排他処理追加をしています。 return のかわりに thread_exclusive() マクロが for 文になってるので continue でブロックを抜けるようにしてるのが hacky ですねえ。