summaryrefslogtreecommitdiffstats
path: root/gc.c
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-04-21 08:17:18 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-04-21 08:17:18 +0000
commitb0b623e4ebb6b6dd7e151e5f0e2f24fc12f313d3 (patch)
tree1033c57d071c082dad15e8795c43dcd166198c39 /gc.c
parent20a2972824e61709dd83ed120848d6808da48678 (diff)
downloadruby-b0b623e4ebb6b6dd7e151e5f0e2f24fc12f313d3.tar.gz
ruby-b0b623e4ebb6b6dd7e151e5f0e2f24fc12f313d3.tar.xz
ruby-b0b623e4ebb6b6dd7e151e5f0e2f24fc12f313d3.zip
* gc.c (rb_gc): use rb_gc_mark_maybe() to mark registered C
addresses. C variables may not hold valid reference to Ruby objects. [ruby-core:00975] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@3705 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'gc.c')
-rw-r--r--gc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gc.c b/gc.c
index ae7cff920..909722518 100644
--- a/gc.c
+++ b/gc.c
@@ -1236,7 +1236,7 @@ rb_gc()
/* mark protected global variables */
for (list = global_List; list; list = list->next) {
- rb_gc_mark(*list->varptr);
+ rb_gc_mark_maybe(*list->varptr);
}
rb_mark_end_proc();
rb_gc_mark_global_tbl();