summaryrefslogtreecommitdiff
path: root/thread.c
diff options
context:
space:
mode:
authorko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-10-23 04:33:04 +0000
committerko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-10-23 04:33:04 +0000
commitd41ec2a79a53bc17dc9c7d574ae3824f5276745d (patch)
tree714dc29ea7f7f3e4d6f93b7db63f5e7dfad44319 /thread.c
parent9eba45a72a63674e35d0e9dec6ddf73088ed39e8 (diff)
* thread.c (rb_threadptr_raise): check interrupts after
Thread#raise because the behavior of Thread.current.raise is expected to perform same as Kernel.raise (by rubyspec). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37294 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'thread.c')
-rw-r--r--thread.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/thread.c b/thread.c
index 4b750b4dcc..fdf1003ae2 100644
--- a/thread.c
+++ b/thread.c
@@ -1790,6 +1790,10 @@ rb_threadptr_raise(rb_thread_t *th, int argc, VALUE *argv)
}
rb_threadptr_async_errinfo_enque(th, exc);
rb_threadptr_interrupt(th);
+
+ /* To perform Thread.current.raise as Kernel.raise */
+ RUBY_VM_CHECK_INTS(th);
+
return Qnil;
}