summaryrefslogtreecommitdiff
path: root/thread.c
diff options
context:
space:
mode:
authornaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-05-11 14:03:40 +0000
committernaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-05-11 14:03:40 +0000
commit38d3b013b7733d9ccd66c011d74c00b35bb704c4 (patch)
tree89758941ee1047425a466bd49f1048b66949b53c /thread.c
parent2f56c64b4f4686e7a5adac3dc486319694ad2828 (diff)
* thread.c (rb_threadptr_execute_interrupts_common): th->errinfo is
not Fixnum, but exception object. This causes test_signal_requiring of test/ruby/test_signal.rb fail if the sub process is killed on waiting IO in lex_io_gets in require itself, not sleep. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35622 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'thread.c')
-rw-r--r--thread.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/thread.c b/thread.c
index 27504e5e2e..5fb19547cd 100644
--- a/thread.c
+++ b/thread.c
@@ -1300,7 +1300,7 @@ rb_threadptr_execute_interrupts_common(rb_thread_t *th)
thread_debug("rb_thread_execute_interrupts: %"PRIdVALUE"\n", err);
if (err == eKillSignal || err == eTerminateSignal) {
- th->errinfo = INT2FIX(TAG_FATAL);
+ th->errinfo = rb_exc_new2(rb_eInterrupt, "");
TH_JUMP_TAG(th, TAG_FATAL);
}
else {