diff --git a/ChangeLog b/ChangeLog index bb348b3910..93829ca473 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Fri Nov 22 14:55:00 2013 Kenta Murata + + * ext/bigdecimal/bigdecimal.c (BigMath_s_exp): Insert rb_thread_check_ints. + Fri Nov 22 14:35:00 2013 Kenta Murata * ext/bigdecimal/bigdecimal.c (BigMath_s_exp): Fix the inserting points diff --git a/ext/bigdecimal/bigdecimal.c b/ext/bigdecimal/bigdecimal.c index 99543229ef..af1d5246f5 100644 --- a/ext/bigdecimal/bigdecimal.c +++ b/ext/bigdecimal/bigdecimal.c @@ -2746,6 +2746,9 @@ BigMath_s_exp(VALUE klass, VALUE x, VALUE vprec) SIGNED_VALUE const ey = VpExponent10(DATA_PTR(y)); SIGNED_VALUE const ed = VpExponent10(DATA_PTR(d)); ssize_t m = n - vabs(ey - ed); + + rb_thread_check_ints(); + if (m <= 0) { break; }