From 681fd462a7afff826969246be4f70c1350c296e1 Mon Sep 17 00:00:00 2001 From: akr Date: Sat, 10 May 2008 03:00:56 +0000 Subject: * 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. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@16343 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 6 ++++++ vm.c | 1 + 2 files changed, 7 insertions(+) diff --git a/ChangeLog b/ChangeLog index 591bafa7d..9ea3a2ca6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Sat May 10 11:36:20 2008 Tanaka Akira + + * 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 * thread.c (timeofday): use monotonic clock. based on a patch diff --git a/vm.c b/vm.c index e3ad6260c..58eabf37a 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) { -- cgit