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

ruby-changes:66421

From: Samuel <ko1@a...>
Date: Thu, 3 Jun 2021 17:47:49 +0900 (JST)
Subject: [ruby-changes:66421] dc25412042 (master): Expose `rb_fiber_transfer` and `rb_fiber_transfer_kw`.

https://git.ruby-lang.org/ruby.git/commit/?id=dc25412042

From dc25412042dcb921c27491ef09791d03bc377d98 Mon Sep 17 00:00:00 2001
From: Samuel Williams <samuel.williams@o...>
Date: Thu, 3 Jun 2021 16:29:58 +1200
Subject: Expose `rb_fiber_transfer` and `rb_fiber_transfer_kw`.

---
 cont.c                              |  6 +++---
 include/ruby/internal/intern/cont.h | 13 +++++++++----
 2 files changed, 12 insertions(+), 7 deletions(-)

diff --git a/cont.c b/cont.c
index 35007ca..bf540a1 100644
--- a/cont.c
+++ b/cont.c
@@ -2500,7 +2500,7 @@ rb_fiber_m_resume(int argc, VALUE *argv, VALUE fiber) https://github.com/ruby/ruby/blob/trunk/cont.c#L2500
     return rb_fiber_resume_kw(fiber, argc, argv, rb_keyword_given_p());
 }
 
-static VALUE rb_fiber_transfer_kw(VALUE fiber_value, int argc, VALUE *argv, int kw_splat);
+VALUE rb_fiber_transfer_kw(VALUE fiber_value, int argc, const VALUE *argv, int kw_splat);
 
 /*
  *  call-seq:
@@ -2704,8 +2704,8 @@ rb_fiber_m_transfer(int argc, VALUE *argv, VALUE fiber_value) https://github.com/ruby/ruby/blob/trunk/cont.c#L2704
     return rb_fiber_transfer_kw(fiber_value, argc, argv, rb_keyword_given_p());
 }
 
-static VALUE
-rb_fiber_transfer_kw(VALUE fiber_value, int argc, VALUE *argv, int kw_splat)
+VALUE
+rb_fiber_transfer_kw(VALUE fiber_value, int argc, const VALUE *argv, int kw_splat)
 {
     rb_fiber_t *fiber = fiber_ptr(fiber_value);
     if (RTEST(fiber->resuming_fiber)) {
diff --git a/include/ruby/internal/intern/cont.h b/include/ruby/internal/intern/cont.h
index 6988f75..54adb3d 100644
--- a/include/ruby/internal/intern/cont.h
+++ b/include/ruby/internal/intern/cont.h
@@ -28,13 +28,18 @@ RBIMPL_SYMBOL_EXPORT_BEGIN() https://github.com/ruby/ruby/blob/trunk/include/ruby/internal/intern/cont.h#L28
 
 /* cont.c */
 VALUE rb_fiber_new(rb_block_call_func_t, VALUE);
-VALUE rb_fiber_resume(VALUE fib, int argc, const VALUE *argv);
-VALUE rb_fiber_resume_kw(VALUE fib, int argc, const VALUE *argv, int kw_splat);
-VALUE rb_fiber_yield(int argc, const VALUE *argv);
-VALUE rb_fiber_yield_kw(int argc, const VALUE *argv, int kw_splat);
 VALUE rb_fiber_current(void);
 VALUE rb_fiber_alive_p(VALUE);
 
+VALUE rb_fiber_resume(VALUE fiber, int argc, const VALUE *argv);
+VALUE rb_fiber_resume_kw(VALUE fiber, int argc, const VALUE *argv, int kw_splat);
+
+VALUE rb_fiber_yield(int argc, const VALUE *argv);
+VALUE rb_fiber_yield_kw(int argc, const VALUE *argv, int kw_splat);
+
+VALUE rb_fiber_transfer(VALUE fiber, int argc, const VALUE *argv);
+VALUE rb_fiber_transfer_kw(VALUE fiber, int argc, const VALUE *argv, int kw_splat);
+
 RBIMPL_SYMBOL_EXPORT_END()
 
 #endif /* RBIMPL_INTERN_CONT_H */
-- 
cgit v1.1


--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

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