mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
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 | ||