diff options
author | nagachika <nagachika@ruby-lang.org> | 2021-07-25 13:38:05 +0900 |
---|---|---|
committer | nagachika <nagachika@ruby-lang.org> | 2021-07-25 13:49:53 +0900 |
commit | 95dc88c88869541dd0eccafd14924d78c8d7f427 (patch) | |
tree | f4ad43fffd779545d16d7d47106a25c341633eb5 /thread.c | |
parent | dc7ad0287eff6e11c2d0f71d2a02e56fe172a0da (diff) |
partially merge revision(s) 5f69a7f60467fa58c2f998daffab43e118bff36c: [Backport #17666]
Co-authored-by: Samuel Williams <@ioquatix>
https://github.com/nagachika/ruby/pull/1/commits/2cee515f024f3295945f312cb6b052f972f9c93d
Diffstat (limited to 'thread.c')
-rw-r--r-- | thread.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -544,7 +544,7 @@ rb_threadptr_join_list_wakeup(rb_thread_t *thread) while (join_list) { rb_thread_t *target_thread = join_list->thread; - if (target_thread->scheduler != Qnil) { + if (target_thread->scheduler != Qnil && rb_fiberptr_blocking(join_list->fiber) == 0) { rb_scheduler_unblock(target_thread->scheduler, target_thread->self, rb_fiberptr_self(join_list->fiber)); } else { rb_threadptr_interrupt(target_thread); |