From 4af243a8afa0dfefc74bb68dd08d9c5ff3ccc5d5 Mon Sep 17 00:00:00 2001 From: mame Date: Tue, 27 Apr 2010 12:27:13 +0000 Subject: * eval.c (ruby_cleanup): before cleanup, check signal buffer and run handler if any. [ruby-core:20970] * thread.c (rb_threadptr_check_signal): separeted from timer_thread_function. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27513 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- eval.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'eval.c') diff --git a/eval.c b/eval.c index a1deab6c8b..2db160c2ea 100644 --- a/eval.c +++ b/eval.c @@ -127,6 +127,12 @@ ruby_cleanup(volatile int ex) volatile VALUE errs[2]; rb_thread_t *th = GET_THREAD(); int nerr; + void rb_threadptr_interrupt(rb_thread_t *th); + void rb_threadptr_check_signal(rb_thread_t *mth); + + rb_threadptr_interrupt(th); + rb_threadptr_check_signal(th); + RUBY_VM_CHECK_INTS(); errs[1] = th->errinfo; th->safe_level = 0; -- cgit v1.2.3