diff options
author | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-06-25 18:47:03 +0000 |
---|---|---|
committer | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-06-25 18:47:03 +0000 |
commit | 1a49d91fddf47bd791836a20505558c724fa491b (patch) | |
tree | d17045e1906b0e6f92d2f9904d01de5debb8f853 | |
parent | 702e431f1b3741ac3e88d05e450f32b745207f5c (diff) | |
download | ruby-1a49d91fddf47bd791836a20505558c724fa491b.tar.gz |
* 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
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | cont.c | 3 |
2 files changed, 5 insertions, 2 deletions
@@ -1,3 +1,7 @@ +Tue Jun 26 03:46:08 2007 Koichi Sasada <ko1@atdot.net> + + * cont.c (rb_fiber_s_new): fix to clear rb_thread_t#tag. + Tue Jun 26 03:38:31 2007 Koichi Sasada <ko1@atdot.net> * cont.c (rb_fiber_s_new), yarvcore.c (th_init2): fix to clear @@ -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); } |