From b00a501e4312c11c6c98402082fe485731004561 Mon Sep 17 00:00:00 2001 From: ko1 Date: Mon, 25 Jun 2007 18:47:03 +0000 Subject: * cont.c (rb_fiber_s_new): fix to clear rb_thread_t#tag. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@12619 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 4 ++++ cont.c | 3 +-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 250aa589d..66b253a7e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Tue Jun 26 03:46:08 2007 Koichi Sasada + + * cont.c (rb_fiber_s_new): fix to clear rb_thread_t#tag. + Tue Jun 26 03:38:31 2007 Koichi Sasada * cont.c (rb_fiber_s_new), yarvcore.c (th_init2): fix to clear diff --git a/cont.c b/cont.c index 022df065a..f75ddf160 100644 --- a/cont.c +++ b/cont.c @@ -489,6 +489,7 @@ rb_fiber_s_new(VALUE self) th->cfp->iseq = 0; th->cfp->proc = 0; th->cfp->block_iseq = 0; + th->tag = 0; th->first_proc = rb_block_proc(); @@ -506,10 +507,8 @@ rb_fiber_terminate(rb_context_t *cont) VALUE value = cont->value; GetContPtr(cont->prev, prev_cont); - cont->alive = Qfalse; - if (prev_cont->alive == Qfalse) { rb_fiber_yield(1, &value, GET_THREAD()->root_fiber); } -- cgit