summaryrefslogtreecommitdiff
path: root/eval.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-02-13 14:12:55 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-02-13 14:12:55 +0000
commit8b8973761ceb969c5ff95adab132b26f2c045eea (patch)
treecfca32ea387d8dc763a336ec7d33be9e49674494 /eval.c
parent9c560ca864c7cfb2d7d78fea6b2970cb7fefab8f (diff)
* eval.c (rb_thread_start_0): restore prot_tag before rewinding.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7964 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 662af12065..ad7465630d 100644
--- a/eval.c
+++ b/eval.c
@@ -11652,7 +11652,7 @@ rb_thread_start_0(fn, arg, th)
new_thread.proc = rb_block_proc();
new_thread.arg = (VALUE)arg;
th->anchor = ip;
- longjmp(ip->tag->buf, TAG_THREAD);
+ longjmp((prot_tag = ip->tag)->buf, TAG_THREAD);
}
if (ruby_block) { /* should nail down higher blocks */