From a77a9bb20cf4d8fc08a7a6c9dfedefbb9f585c98 Mon Sep 17 00:00:00 2001 From: marcandre Date: Mon, 12 Oct 2009 23:53:48 +0000 Subject: * thread.c: Revert changes to Thread#raise made in r25278 [ruby-core:25367] * eval_intern.h: ditto git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25316 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- eval.c | 2 +- eval_intern.h | 1 - thread.c | 12 +----------- 3 files changed, 2 insertions(+), 13 deletions(-) diff --git a/eval.c b/eval.c index 26c10c16c8..ff85fbfc99 100644 --- a/eval.c +++ b/eval.c @@ -1004,7 +1004,7 @@ rb_rubylevel_errinfo(void) return get_errinfo(); } -VALUE +static VALUE rb_threadptr_errinfo(rb_thread_t *th) { return get_thread_errinfo(th); diff --git a/eval_intern.h b/eval_intern.h index e37905c208..b7790828dc 100644 --- a/eval_intern.h +++ b/eval_intern.h @@ -212,7 +212,6 @@ void rb_thread_terminate_all(void); VALUE rb_vm_top_self(); VALUE rb_vm_cbase(void); void rb_trap_restore_mask(void); -VALUE rb_threadptr_errinfo(rb_thread_t *); #ifndef CharNext /* defined as CharNext[AW] on Windows. */ #define CharNext(p) ((p) + mblen(p, RUBY_MBCHAR_MAXSIZE)) diff --git a/thread.c b/thread.c index 5abe58f549..8d7d67b240 100644 --- a/thread.c +++ b/thread.c @@ -76,7 +76,6 @@ void rb_thread_stop_timer_thread(void); static const VALUE eKillSignal = INT2FIX(0); static const VALUE eTerminateSignal = INT2FIX(1); -static const VALUE eReRaiseSignal = INT2FIX(2); static volatile int system_working = 1; inline static void @@ -1247,10 +1246,6 @@ rb_threadptr_execute_interrupts_rec(rb_thread_t *th, int sched_depth) TH_JUMP_TAG(th, TAG_FATAL); } else { - if (err == eReRaiseSignal) { - err = rb_threadptr_errinfo(th); - err = rb_make_exception(NIL_P(err) ? 0 : 1, &err); - } rb_exc_raise(err); } } @@ -1317,12 +1312,7 @@ rb_threadptr_raise(rb_thread_t *th, int argc, VALUE *argv) goto again; } - if (argc == 0) { - exc = eReRaiseSignal; - } - else { - exc = rb_make_exception(argc, argv); - } + exc = rb_make_exception(argc, argv); th->thrown_errinfo = exc; rb_threadptr_ready(th); return Qnil; -- cgit v1.2.3