ruby-changes:65333
From: Nobuyoshi <ko1@a...>
Date: Wed, 24 Feb 2021 04:10:31 +0900 (JST)
Subject: [ruby-changes:65333] 9d8c66fd6a (master): rb_fiber_terminate never returns
https://git.ruby-lang.org/ruby.git/commit/?id=9d8c66fd6a From 9d8c66fd6a3b9ff1c18cdbef88d34379253fb66d Mon Sep 17 00:00:00 2001 From: Nobuyoshi Nakada <nobu@r...> Date: Wed, 24 Feb 2021 03:37:22 +0900 Subject: rb_fiber_terminate never returns --- cont.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/cont.c b/cont.c index 72ebf6f..e8ac786 100644 --- a/cont.c +++ b/cont.c @@ -2005,7 +2005,7 @@ rb_fiber_set_scheduler(VALUE klass, VALUE scheduler) https://github.com/ruby/ruby/blob/trunk/cont.c#L2005 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) https://github.com/ruby/ruby/blob/trunk/cont.c#L2047 if (state == TAG_RAISE) { // noop... - } else if (state == TAG_FATAL) { + } + else if (state == TAG_FATAL) { rb_threadptr_pending_interrupt_enque(th, err); } else { -- cgit v1.1 -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/