rb_fiber_terminate never returns

This commit is contained in:
Nobuyoshi Nakada 2021-02-24 03:37:22 +09:00
Родитель 75fbea91ac
Коммит 9d8c66fd6a
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 7CD2805BFA3770C6
1 изменённых файлов: 3 добавлений и 2 удалений

5
cont.c
Просмотреть файл

@ -2005,7 +2005,7 @@ rb_fiber_set_scheduler(VALUE klass, VALUE scheduler)
return rb_fiber_scheduler_set(scheduler);
}
static void rb_fiber_terminate(rb_fiber_t *fiber, int need_interrupt, VALUE err);
NORETURN(static void rb_fiber_terminate(rb_fiber_t *fiber, int need_interrupt, VALUE err));
void
rb_fiber_start(void)
@ -2047,7 +2047,8 @@ rb_fiber_start(void)
if (state == TAG_RAISE) {
// noop...
} else if (state == TAG_FATAL) {
}
else if (state == TAG_FATAL) {
rb_threadptr_pending_interrupt_enque(th, err);
}
else {