Retry neglects signals

e$B1sF#$H?=$7$^$9!#e(B

e$B0J2<$N$h$&$K$9$k$He(B Ctrl-C e$B$G;_$a$i$l$J$/$J$j$^$9!#e(B

./ruby -ve ‘1.times { retry }’
ruby 1.9.0 (2007-08-08 patchlevel 0) [i686-linux]

(e$B8G$^$ke(B)

e$B%*!<%P!<%X%C%I$,$"$k$+$b$G$9$,!"$H$j$"$($:0J2<$G;_$a$i$l$k$h$&$Ke(B
e$B$J$j$^$7$?!#e(B

Index: insns.def

— insns.def (revision 12907)
+++ insns.def (working copy)
@@ -1213,6 +1213,7 @@
(VALUE throwobj)
(VALUE val)
{

  • RUBY_VM_CHECK_INTS();
    val = vm_throw(th, GET_CFP(), throw_state, throwobj);
    THROW_EXCEPTION(val);
    /* unreachable */

e$B!!$5$5$@$G$9!#e(B

Yusuke ENDOH wrote:

e$B0J2<$N$h$&$K$9$k$He(B Ctrl-C e$B$G;_$a$i$l$J$/$J$j$^$9!#e(B

./ruby -ve ‘1.times { retry }’
ruby 1.9.0 (2007-08-08 patchlevel 0) [i686-linux]

e$B!!$&!<$s!"$J$k$[$I!#e(B

e$B%*!<%P!<%X%C%I$,$"$k$+$b$G$9$,!"$H$j$"$($:0J2<$G;_$a$i$l$k$h$&$Ke(B
e$B$J$j$^$7$?!#e(B

e$B!!$$$d!"%*!<%P%X%C%I$OLdBj$J$$$+$H;W$$$^$9!#$7$+$7!“e(Bthrow
e$B$h$j$b!”<ue(B
e$B$1$k>l=j$G%A%’%C%/$7$?$[$&$,$$$$$h$&$J5$$,$9$k$J!#e(B