Use RARRAY_SHARED_ROOT_FLAG for checking re-enter

RARRAY_SHARED_ROOT_FLAG is defined as FL_USER5, but we should use
RARRAY_SHARED_ROOT_FLAG instead of depending on that they're equal.
This commit is contained in:
Peter Zhu 2022-02-11 15:44:08 -05:00
Родитель 76e594d515
Коммит 26187a8520
1 изменённых файлов: 3 добавлений и 3 удалений

Просмотреть файл

@ -7230,13 +7230,13 @@ rb_ary_product(int argc, VALUE *argv, VALUE ary)
/* put it on the result array */
if (NIL_P(result)) {
FL_SET(t0, FL_USER5);
FL_SET(t0, RARRAY_SHARED_ROOT_FLAG);
rb_yield(subarray);
if (! FL_TEST(t0, FL_USER5)) {
if (!FL_TEST(t0, RARRAY_SHARED_ROOT_FLAG)) {
rb_raise(rb_eRuntimeError, "product reentered");
}
else {
FL_UNSET(t0, FL_USER5);
FL_UNSET(t0, RARRAY_SHARED_ROOT_FLAG);
}
}
else {