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 2d4f29e77e 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-08-03 22:23:48 +12:00
..
http.rb Expose scheduler as public interface & bug fixes. (#3945) 2021-02-09 19:39:56 +13:00
scheduler.rb Fix potential hang when joining threads. 2021-08-03 22:23:48 +12:00
test_address_resolve.rb Fix fiber scheduler address resolve solaris tests 2021-06-14 22:09:23 +12: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 Test incorrect behaviour of rb_io_wait_readable/writable. 2021-03-30 23:16:59 +13:00
test_mutex.rb Prefer qualified names under Thread 2021-06-29 11:41:10 +09: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-06-14 17:56:53 +12:00
test_sleep.rb Close leaked file descriptors 2021-06-15 00:02:15 +09:00
test_thread.rb Fix potential hang when joining threads. 2021-08-03 22:23:48 +12:00
test_timeout.rb Fix handling of timeout accessing scheduler outside of non-blocking context. 2021-03-30 18:38:42 +13:00