aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-05-16 08:17:00 +0000
committernaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-05-16 08:17:00 +0000
commit940a99ac7c76f986e338bb2a75086d467940b162 (patch)
tree2525985886e321c1ee6af0e1de70065e75e518c1
parent67f562a417e988d06c1d81885d8f3ab271cbf85d (diff)
downloadruby-940a99ac7c76f986e338bb2a75086d467940b162.tar.gz
* vm_eval.c (rb_catch_obj): add volatile to tag to prevent crash
experimentally. http://www.rubyist.net/~akr/chkbuild/debian/ruby-trunk/log/20130515T133500Z.log.html.gz git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40785 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog6
-rw-r--r--vm_eval.c3
2 files changed, 8 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 457aeb8c45..273ef3b28a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Thu May 16 17:15:32 2013 NARUSE, Yui <naruse@ruby-lang.org>
+
+ * vm_eval.c (rb_catch_obj): add volatile to tag to prevent crash
+ experimentally.
+ http://www.rubyist.net/~akr/chkbuild/debian/ruby-trunk/log/20130515T133500Z.log.html.gz
+
Thu May 16 16:19:50 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
* win32/Makefile.sub (verconf.in): no longer used.
diff --git a/vm_eval.c b/vm_eval.c
index 3f52c43e3b..5ba8668790 100644
--- a/vm_eval.c
+++ b/vm_eval.c
@@ -1798,12 +1798,13 @@ rb_catch(const char *tag, VALUE (*func)(), VALUE data)
}
VALUE
-rb_catch_obj(VALUE tag, VALUE (*func)(), VALUE data)
+rb_catch_obj(VALUE t, VALUE (*func)(), VALUE data)
{
int state;
volatile VALUE val = Qnil; /* OK */
rb_thread_t *th = GET_THREAD();
rb_control_frame_t *saved_cfp = th->cfp;
+ volatile VALUE tag = t;
TH_PUSH_TAG(th);