diff options
| author | Erik Berlin <sferik@gmail.com> | 2025-06-27 21:55:59 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-06-28 13:55:59 +0900 |
| commit | eab4a0bc8d883be2071a090c87914efc9c12d10c (patch) | |
| tree | 8a8736465391f4c674a8ddfc8fa4608e3edccc1b /thread.c | |
| parent | 31c1f3665a9224f7e77f1b59f7872befc2760a74 (diff) | |
Fix race condition in signal handler query (#13712)
* Fix race condition in signal handler query
* Initialize signal lock dynamically and reset after fork
* Fix signal handler mutex initialization conditions
Diffstat (limited to 'thread.c')
| -rw-r--r-- | thread.c | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -4933,6 +4933,7 @@ rb_thread_atfork_internal(rb_thread_t *th, void (*atfork)(rb_thread_t *, const r thread_sched_atfork(TH_SCHED(th)); ubf_list_atfork(); + rb_signal_atfork(); // OK. Only this thread accesses: ccan_list_for_each(&vm->ractor.set, r, vmlr_node) { |
