diff options
author | yugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-04-19 13:34:10 +0000 |
---|---|---|
committer | yugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-04-19 13:34:10 +0000 |
commit | 80016734521554c9888630b4ca5b6e55e91701c6 (patch) | |
tree | aebdad558a8a454deb53c57198550c7c99db9777 /ext | |
parent | b8a522d816a430db7e9630f1cb98e3e00a9081ee (diff) |
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: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@23223 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext')
-rw-r--r-- | ext/dbm/dbm.c | 3 | ||||
-rw-r--r-- | ext/sdbm/init.c | 3 |
2 files changed, 4 insertions, 2 deletions
diff --git a/ext/dbm/dbm.c b/ext/dbm/dbm.c index 7a78f8dad0..84d331ae53 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 2e4f75cfbf..f630dc3cc9 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; |