1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/test/fiber
Samuel Williams 8ac058b645 Fix potential hang when joining threads.
If the thread termination invokes user code after `th->status` becomes
`THREAD_KILLED`, and the user unblock function causes that `th->status` to
become something else (e.g. `THREAD_RUNNING`), threads waiting in
`thread_join_sleep` will hang forever. We move the unblock function call
to before the thread status is updated, and allow threads to join as soon
as `th->value` becomes defined.

This reverts commit 6505c77501.
2021-09-26 20:49:54 +09:00
..
http.rb Rename to Fiber#set_scheduler. 2020-11-07 23:39:50 +13:00
scheduler.rb Fix potential hang when joining threads. 2021-09-26 20:49:54 +09:00
test_backtrace.rb test/fiber/test_backtrace.rb: prevent a warning 2020-08-18 14:36:39 +09:00
test_enumerator.rb Rename to Fiber#set_scheduler. 2020-11-07 23:39:50 +13:00
test_io.rb merge revision(s) 611e711085c7e3984555a79626d025c8b876eced,a9c5c2d614f30a616970245fef3e7ffc151e2ecf: [Backport #17527] 2021-04-24 14:04:04 +09:00
test_mutex.rb Fix TestFiberMutex#test_condition_variable assertion 2020-11-08 16:49:33 +01:00
test_process.rb Add support for non-blocking Process.wait. 2020-12-09 08:55:35 +13:00
test_ractor.rb Add verbose nil in testing 2020-12-23 03:27:14 +09:00
test_scheduler.rb Wake up join list within thread EC context. (#4471) 2021-09-26 20:49:54 +09:00
test_sleep.rb Close leaked file descriptors 2021-09-26 20:49:54 +09:00
test_thread.rb Fix potential hang when joining threads. 2021-09-26 20:49:54 +09:00