diff options
-rw-r--r-- | bootstraptest/test_ractor.rb | 7 | ||||
-rw-r--r-- | ractor.rb | 7 |
2 files changed, 14 insertions, 0 deletions
diff --git a/bootstraptest/test_ractor.rb b/bootstraptest/test_ractor.rb index 06bd739931..843714a7bc 100644 --- a/bootstraptest/test_ractor.rb +++ b/bootstraptest/test_ractor.rb @@ -396,6 +396,13 @@ assert_equal 'ok', %q{ end } +# Ractor.main returns main ractor +assert_equal 'true', %q{ + Ractor.new{ + Ractor.main + }.take == Ractor.current +} + # a ractor with closed outgoing port should terminate assert_equal 'ok', %q{ Ractor.new do @@ -768,4 +768,11 @@ class Ractor def []=(sym, val) Primitive.ractor_local_value_set(sym, val) end + + # returns main ractor + def self.main + __builtin_cexpr! %q{ + rb_ractor_self(GET_VM()->ractor.main_ractor); + } + end end |