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

ruby-changes:21322

From: ktsj <ko1@a...>
Date: Sun, 2 Oct 2011 08:48:58 +0900 (JST)
Subject: [ruby-changes:21322] ktsj:r33371 (trunk): * vm.c (rb_thread_mark), cont.c (cont_mark): self pointer should not

ktsj	2011-10-02 08:48:48 +0900 (Sun, 02 Oct 2011)

  New Revision: 33371

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

  Log:
    * vm.c (rb_thread_mark), cont.c (cont_mark): self pointer should not
      be marked by itself. Patch by Koichi Sasada.
      [ruby-dev:44567] [Bug #5386]

  Modified files:
    trunk/ChangeLog
    trunk/cont.c
    trunk/vm.c

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 33370)
+++ ChangeLog	(revision 33371)
@@ -1,3 +1,9 @@
+Sun Oct  2 08:43:25 2011  Kazuki Tsujimoto  <kazuki@c...>
+
+	* vm.c (rb_thread_mark), cont.c (cont_mark): self pointer should not
+	  be marked by itself. Patch by Koichi Sasada.
+	  [ruby-dev:44567] [Bug #5386]
+
 Sun Oct  2 00:42:14 2011  Kazuki Tsujimoto  <kazuki@c...>
 
 	* vm.c (rb_thread_mark): rb_thread_t needs self to be marked.
Index: cont.c
===================================================================
--- cont.c	(revision 33370)
+++ cont.c	(revision 33371)
@@ -138,7 +138,7 @@
     if (ptr) {
 	rb_context_t *cont = ptr;
 	rb_gc_mark(cont->value);
-	rb_thread_mark(&cont->saved_thread);
+	rb_gc_mark(cont->saved_thread.self);
 
 	if (cont->vm_stack) {
 #ifdef CAPTURE_JUST_VALID_VM_STACK
Index: vm.c
===================================================================
--- vm.c	(revision 33370)
+++ vm.c	(revision 33371)
@@ -1735,7 +1735,6 @@
 	RUBY_MARK_UNLESS_NULL(th->first_proc);
 	if (th->first_proc) RUBY_MARK_UNLESS_NULL(th->first_args);
 
-	RUBY_MARK_UNLESS_NULL(th->self);
 	RUBY_MARK_UNLESS_NULL(th->thgroup);
 	RUBY_MARK_UNLESS_NULL(th->value);
 	RUBY_MARK_UNLESS_NULL(th->errinfo);

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

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