diff options
Diffstat (limited to 'signal.c')
-rw-r--r-- | signal.c | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -391,7 +391,10 @@ rb_trap_exit() { #ifndef MACOS_UNUSE_SIGNAL if (trap_list[0]) { - rb_eval_cmd(trap_list[0], rb_ary_new3(1, INT2FIX(0))); + VALUE trap_exit = trap_list[0]; + + trap_list[0] = 0; + rb_eval_cmd(trap_exit, rb_ary_new3(1, INT2FIX(0))); } #endif } |