From 7b75b1f2da85b3862d4cebe176f41cf044ed6e7f Mon Sep 17 00:00:00 2001 From: Koichi Sasada Date: Sat, 31 May 2025 13:13:38 +0900 Subject: [PATCH] prepare IDs for `Ractor::monitor` To prevent the following strange error, prepare IDs at first. ``` :596:in 'Ractor#monitor': symbol :exited is already registered with 98610c (fatal) from :550:in 'Ractor#join' from :574:in 'Ractor#value' from bootstraptest.test_ractor.rb_2013_1309.rb:12:in '
' ``` BTW, the error should be fixed on ID management system. --- defs/id.def | 2 ++ ractor_sync.c | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/defs/id.def b/defs/id.def index 5e2da592ef..0c32b0d1d4 100644 --- a/defs/id.def +++ b/defs/id.def @@ -63,6 +63,8 @@ firstline, predefined = __LINE__+1, %[\ pack buffer include? + aborted + exited _ UScore diff --git a/ractor_sync.c b/ractor_sync.c index 5974637085..57aea296c2 100644 --- a/ractor_sync.c +++ b/ractor_sync.c @@ -533,11 +533,11 @@ ractor_exit_token(bool exc) { if (exc) { RUBY_DEBUG_LOG("aborted"); - return ID2SYM(rb_intern("aborted")); + return ID2SYM(idAborted); } else { RUBY_DEBUG_LOG("exited"); - return ID2SYM(rb_intern("exited")); + return ID2SYM(idExited); } }