Use an invariant condition

Cannot rule out the possibility that `crr->silent` is modified during
`func`.
This commit is contained in:
Nobuyoshi Nakada 2025-07-11 19:45:37 +09:00
parent 9760ec6f57
commit 12d44dbc49
No known key found for this signature in database
GPG Key ID: 3582D74E1FEE4465

View File

@ -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);
}