1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

Don't try to resume blocked fiber on dead thread.

This commit is contained in:
Samuel Williams 2020-11-08 16:14:43 +13:00
parent afe3cb782b
commit f73135233b
Notes: git 2020-11-08 16:41:19 +09:00

View file

@ -29,15 +29,15 @@ sync_wakeup(struct list_head *head, long max)
list_for_each_safe(head, cur, next, node) {
list_del_init(&cur->node);
if (cur->th->status != THREAD_KILLED) {
if (cur->th->scheduler != Qnil) {
rb_scheduler_unblock(cur->th->scheduler, cur->self, rb_fiberptr_self(cur->fiber));
}
if (cur->th->status != THREAD_KILLED) {
if (cur->th->scheduler == Qnil) {
} else {
rb_threadptr_interrupt(cur->th);
cur->th->status = THREAD_RUNNABLE;
}
if (--max == 0) return;
}
}