[前][次][番号順一覧][スレッド一覧]

ruby-changes:32159

From: ko1 <ko1@a...>
Date: Mon, 16 Dec 2013 18:19:32 +0900 (JST)
Subject: [ruby-changes:32159] ko1:r44238 (trunk): * gc.c (gc_verify_internal_consistency): should not use

ko1	2013-12-16 18:19:24 +0900 (Mon, 16 Dec 2013)

  New Revision: 44238

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=44238

  Log:
    * gc.c (gc_verify_internal_consistency): should not use
      rb_objspace_each_objects() because it call rest_sweep().

  Modified files:
    trunk/ChangeLog
    trunk/gc.c
Index: ChangeLog
===================================================================
--- ChangeLog	(revision 44237)
+++ ChangeLog	(revision 44238)
@@ -1,3 +1,8 @@ https://github.com/ruby/ruby/blob/trunk/ChangeLog#L1
+Mon Dec 16 18:16:28 2013  Koichi Sasada  <ko1@a...>
+
+	* gc.c (gc_verify_internal_consistency): should not use 
+	  rb_objspace_each_objects() because it call rest_sweep().
+
 Mon Dec 16 18:07:30 2013  Koichi Sasada  <ko1@a...>
 
 	* gc.c (rb_objspace_markable_object_p): fix last commit (build error).
Index: gc.c
===================================================================
--- gc.c	(revision 44237)
+++ gc.c	(revision 44238)
@@ -4206,7 +4206,12 @@ gc_verify_internal_consistency(VALUE sel https://github.com/ruby/ruby/blob/trunk/gc.c#L4206
     data.err_count = 0;
 
 #if USE_RGENGC
-    rb_objspace_each_objects(verify_internal_consistency_i, &data);
+    {
+	struct each_obj_args eo_args;
+	eo_args.callback = verify_internal_consistency_i;
+	eo_args.data = (void *)&data;
+	objspace_each_objects((VALUE)&eo_args);
+    }
 #endif
     if (data.err_count != 0) {
 	rb_bug("gc_verify_internal_consistency: found internal consistency.\n");

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]