summaryrefslogtreecommitdiffstats
path: root/eval.c
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-08-05 00:50:46 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-08-05 00:50:46 +0000
commitd2e61ecccc133d3277b24c9bbadecaad81c23b6d (patch)
tree811eab59f97c57bcb260a0dfb6f07697c48565cb /eval.c
parent60c9b9fb049eeda9baefeccac2a1da0f34993f5e (diff)
downloadruby-d2e61ecccc133d3277b24c9bbadecaad81c23b6d.tar.gz
ruby-d2e61ecccc133d3277b24c9bbadecaad81c23b6d.tar.xz
ruby-d2e61ecccc133d3277b24c9bbadecaad81c23b6d.zip
* eval.c (return_jump): fix "can't across thread" error message
when no thread associated. http://www.namikilab.tuat.ac.jp/~sasada/diary/200507.html#d31 git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@8920 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/eval.c b/eval.c
index 9811c71d9..7ad94f1e6 100644
--- a/eval.c
+++ b/eval.c
@@ -4763,7 +4763,7 @@ return_jump(retval)
tt->retval = retval;
JUMP_TAG(TAG_RETURN);
}
- if (tt->tag == PROT_THREAD) {
+ if (tt->tag == PROT_THREAD && tt->prev) {
rb_raise(rb_eThreadError, "return can't jump across threads");
}
tt = tt->prev;