From 2732f7859a6613d5f046a3a070bbc48ce6ce9fcb Mon Sep 17 00:00:00 2001 From: yugui Date: Sun, 19 Apr 2009 13:34:10 +0000 Subject: merges r23057 from trunk into ruby_1_9_1. -- * ext/dbm/dbm.c (fdbm_initialize): Make the file variable volatile, because FilePathValue() currently does not protect the given variable from GC. (Probably it should) * ext/sdbm/init.c (fsdbm_initialize): Ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_9_1@23223 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 8 ++++++++ ext/dbm/dbm.c | 3 ++- ext/sdbm/init.c | 3 ++- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 9d3638fa4..4171fb6cc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +Mon Mar 23 21:41:14 2009 Akinori MUSHA + + * ext/dbm/dbm.c (fdbm_initialize): Make the file variable + volatile, because FilePathValue() currently does not protect the + given variable from GC. (Probably it should) + + * ext/sdbm/init.c (fsdbm_initialize): Ditto. + Mon Mar 23 06:51:16 2009 Nobuyoshi Nakada * enc/depend (link_so): replaces $(TARGET) with basename of the diff --git a/ext/dbm/dbm.c b/ext/dbm/dbm.c index 7a78f8dad..84d331ae5 100644 --- a/ext/dbm/dbm.c +++ b/ext/dbm/dbm.c @@ -91,7 +91,8 @@ fdbm_alloc(VALUE klass) static VALUE fdbm_initialize(int argc, VALUE *argv, VALUE obj) { - VALUE file, vmode, vflags; + volatile VALUE file; + VALUE vmode, vflags; DBM *dbm; struct dbmdata *dbmp; int mode, flags = 0; diff --git a/ext/sdbm/init.c b/ext/sdbm/init.c index 2e4f75cfb..f630dc3cc 100644 --- a/ext/sdbm/init.c +++ b/ext/sdbm/init.c @@ -82,7 +82,8 @@ fsdbm_alloc(VALUE klass) static VALUE fsdbm_initialize(int argc, VALUE *argv, VALUE obj) { - VALUE file, vmode; + volatile VALUE file; + VALUE vmode; DBM *dbm; struct dbmdata *dbmp; int mode; -- cgit