aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorknu <knu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-03-23 12:45:23 +0000
committerknu <knu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-03-23 12:45:23 +0000
commit38d2bcd952d9768d0a920facb8d5660f6daf5ca2 (patch)
treeb8fa976130d603f8fd7dd5ae6b900b7fe00ae876
parent61e6f9b81c621d2f55e00590bbb7b44fe6431b25 (diff)
downloadruby-38d2bcd952d9768d0a920facb8d5660f6daf5ca2.tar.gz
* 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/trunk@23057 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog8
-rw-r--r--ext/dbm/dbm.c3
-rw-r--r--ext/sdbm/init.c3
3 files changed, 12 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 2db5092e4b..ef9352f5d6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+Mon Mar 23 21:41:14 2009 Akinori MUSHA <knu@iDaemons.org>
+
+ * 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 19:22:14 2009 Akinori MUSHA <knu@iDaemons.org>
* file.c (rb_file_s_lstat): Back out.
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;