summaryrefslogtreecommitdiff
path: root/marshal.c
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-04-10 23:10:49 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-04-10 23:10:49 +0000
commit4a407ec3a7be0b6d92b9a9b68c5d10b041f1120e (patch)
tree89176ae821e80191a9a4de3891d21060f8d7896a /marshal.c
parent1e8ec51e8fafc27f170241f93868528dd22861d4 (diff)
* marshal.c (w_object): add volatile to avoid potential GC bug. a
patch from Tomoyuki Chikanaga <chikanag at nippon-control-system.co.jp> in [ruby-dev:34311]. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15966 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'marshal.c')
-rw-r--r--marshal.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/marshal.c b/marshal.c
index bbe8ba0e27..723f8dde33 100644
--- a/marshal.c
+++ b/marshal.c
@@ -575,7 +575,7 @@ w_object(VALUE obj, struct dump_arg *arg, int limit)
if (OBJ_TAINTED(obj)) arg->taint = Qtrue;
if (rb_respond_to(obj, s_mdump)) {
- VALUE v;
+ volatile VALUE v;
st_add_direct(arg->data, obj, arg->data->num_entries);