diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | thread.c | 1 |
2 files changed, 6 insertions, 0 deletions
@@ -1,3 +1,8 @@ +Tue May 27 21:53:49 2008 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * thread.c (rb_thread_execute_interrupts): delay interrupts during + raising exceptions. [ruby-dev:34855] + Tue May 27 20:18:30 2008 Akinori MUSHA <knu@iDaemons.org> * array.c (rb_ary_slice_bang): Return an empty array instead of @@ -814,6 +814,7 @@ thread_s_pass(VALUE klass) void rb_thread_execute_interrupts(rb_thread_t *th) { + if (th->raised_flag) return; while (th->interrupt_flag) { int status = th->status; th->status = THREAD_RUNNABLE; |