diff --git a/bignum.c b/bignum.c index 77750dc554..fb4714307e 100644 --- a/bignum.c +++ b/bignum.c @@ -2699,7 +2699,7 @@ bigdivrem_restoring(BDIGIT *zds, size_t zn, BDIGIT *yds, size_t yn) if (bds.zn > 10000 || bds.yn > 10000) { retry: bds.stop = Qfalse; - rb_nogvl(bigdivrem1, &bds, rb_big_stop, &bds, RB_NOGVL_UBF_ASYNC_SAFE); + rb_nogvl(bigdivrem1, &bds, rb_big_stop, &bds, RB_NOGVL_UBF_ASYNC_SAFE | RB_NOGVL_OFFLOAD_SAFE); if (bds.stop == Qtrue) { /* execute trap handler, but exception was not raised. */