From: SASADA Koichi Date: 2011-10-02T02:05:32+09:00 Subject: [ruby-dev:44567] Re: [ruby-dev:44566] [Ruby 1.9 - Bug #5386][Open] FiberオブジェクトのGC時にSEGV イマイチ自信がないのですが,自分自身を mark するっておかしい気がします. というわけで,次のような変更はどうでしょうか. Index: cont.c =================================================================== --- cont.c (revision 33272) +++ cont.c (working copy) @@ -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 (2011/10/01 10:41), Kazuki Tsujimoto wrote: > 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); > =end > -- // SASADA Koichi at atdot dot net