summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorSamuel Williams <samuel.williams@oriontransfer.co.nz>2021-06-14 17:56:53 +1200
committernagachika <nagachika@ruby-lang.org>2021-09-26 20:49:54 +0900
commit5e9ec351044fb74f07f2a45a0dab1e226159b7e6 (patch)
treed88a0da7c222748f83792654eec867debd6624e7 /include
parent98ac62de5cb03efec0fb32684c61c0d4df692e5a (diff)
Wake up join list within thread EC context. (#4471)
* Wake up join list within thread EC context. * Consume items from join list so that they are not re-executed. If `rb_fiber_scheduler_unblock` raises an exception, it can result in a segfault if `rb_threadptr_join_list_wakeup` is not within a valid EC. This change moves `rb_threadptr_join_list_wakeup` into the thread's top level EC which initially caused an infinite loop because on exception will retry. We explicitly remove items from the thread's join list to avoid this situation. * Verify the required scheduler interface. * Test several scheduler hooks methods with broken `unblock` implementation.
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions