From 1a49d91fddf47bd791836a20505558c724fa491b Mon Sep 17 00:00:00 2001 From: ko1 Date: Mon, 25 Jun 2007 18:47:03 +0000 Subject: [PATCH] * cont.c (rb_fiber_s_new): fix to clear rb_thread_t#tag. git-svn-id: svn+ssh://ci.ruby-lang.org/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 250aa589d9..66b253a7e6 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 022df065a7..f75ddf1602 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); }