From 12d44dbc496f131fcd2af8864d19471c0720800d Mon Sep 17 00:00:00 2001 From: Nobuyoshi Nakada Date: Fri, 11 Jul 2025 19:45:37 +0900 Subject: [PATCH] Use an invariant condition Cannot rule out the possibility that `crr->silent` is modified during `func`. --- ractor.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ractor.c b/ractor.c index 10184013a7..12ffced0a3 100644 --- a/ractor.c +++ b/ractor.c @@ -2347,8 +2347,9 @@ ractor_require_protect(VALUE crr_obj, VALUE (*func)(VALUE)) struct cross_ractor_require *crr; TypedData_Get_Struct(crr_obj, struct cross_ractor_require, &cross_ractor_require_data_type, crr); + const bool silent = crr->silent; VALUE debug, errinfo; - if (crr->silent) { + if (silent) { debug = ruby_debug; errinfo = rb_errinfo(); } @@ -2357,7 +2358,7 @@ ractor_require_protect(VALUE crr_obj, VALUE (*func)(VALUE)) rb_rescue2(func, (VALUE)crr, require_rescue, (VALUE)crr, rb_eException, 0); - if (crr->silent) { + if (silent) { ruby_debug = debug; rb_set_errinfo(errinfo); }