ruby-changes:4849
From: ko1@a...
Date: Sat, 10 May 2008 12:01:20 +0900 (JST)
Subject: [ruby-changes:4849] akr -  Ruby:r16343 (trunk): * vm.c (env_mark): mark env->block.self.  prevent SEGV when GC occur
akr	2008-05-10 12:00:56 +0900 (Sat, 10 May 2008)
  New Revision: 16343
  Modified files:
    trunk/ChangeLog
    trunk/vm.c
  Log:
    * 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.
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ChangeLog?r1=16343&r2=16342&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/vm.c?r1=16343&r2=16342&diff_format=u
Index: ChangeLog
===================================================================
--- ChangeLog	(revision 16342)
+++ ChangeLog	(revision 16343)
@@ -1,3 +1,9 @@
+Sat May 10 11:36:20 2008  Tanaka Akira  <akr@f...>
+
+	* 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@r...>
 
 	* thread.c (timeofday): use monotonic clock.  based on a patch
Index: vm.c
===================================================================
--- vm.c	(revision 16342)
+++ vm.c	(revision 16343)
@@ -122,6 +122,7 @@
 
 	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) {
--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/