mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
2d4f29e77e
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
|
||
---|---|---|
.. | ||
http.rb | ||
scheduler.rb | ||
test_address_resolve.rb | ||
test_backtrace.rb | ||
test_enumerator.rb | ||
test_io.rb | ||
test_mutex.rb | ||
test_process.rb | ||
test_ractor.rb | ||
test_scheduler.rb | ||
test_sleep.rb | ||
test_thread.rb | ||
test_timeout.rb |