[前][次][番号順一覧][スレッド一覧]

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/

[前][次][番号順一覧][スレッド一覧]