aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--vm.c1
2 files changed, 7 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 591bafa7d2..9ea3a2ca63 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Sat May 10 11:36:20 2008 Tanaka Akira <akr@fsij.org>
+
+ * vm.c (env_mark): mark env->block.self. prevent SEGV when GC occur
+ in prepare_iseq_build with gcc version 3.4.6 [FreeBSD] 20060305 on
+ FreeBSD/amd64.
+
Fri May 9 19:16:00 2008 Yukihiro Matsumoto <matz@ruby-lang.org>
* thread.c (timeofday): use monotonic clock. based on a patch
diff --git a/vm.c b/vm.c
index e3ad6260c1..58eabf37ac 100644
--- a/vm.c
+++ b/vm.c
@@ -122,6 +122,7 @@ env_mark(void *ptr)
RUBY_GC_INFO("env->prev_envval\n");
RUBY_MARK_UNLESS_NULL(env->prev_envval);
+ RUBY_MARK_UNLESS_NULL(env->block.self);
RUBY_MARK_UNLESS_NULL(env->block.proc);
if (env->block.iseq) {