summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormarcandre <marcandre@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-10-12 23:53:48 +0000
committermarcandre <marcandre@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-10-12 23:53:48 +0000
commita77a9bb20cf4d8fc08a7a6c9dfedefbb9f585c98 (patch)
tree71de06ccf482ab437e9659a6adb598f9eec2d2c3
parentbc59a8574086c8659e51fa6cc35d4dfec08cdf22 (diff)
* 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
-rw-r--r--eval.c2
-rw-r--r--eval_intern.h1
-rw-r--r--thread.c12
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;