* 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
This commit is contained in:
parent
702e431f1b
commit
1a49d91fdd
@ -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>
|
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
|
* cont.c (rb_fiber_s_new), yarvcore.c (th_init2): fix to clear
|
||||||
|
3
cont.c
3
cont.c
@ -489,6 +489,7 @@ rb_fiber_s_new(VALUE self)
|
|||||||
th->cfp->iseq = 0;
|
th->cfp->iseq = 0;
|
||||||
th->cfp->proc = 0;
|
th->cfp->proc = 0;
|
||||||
th->cfp->block_iseq = 0;
|
th->cfp->block_iseq = 0;
|
||||||
|
th->tag = 0;
|
||||||
|
|
||||||
th->first_proc = rb_block_proc();
|
th->first_proc = rb_block_proc();
|
||||||
|
|
||||||
@ -506,10 +507,8 @@ rb_fiber_terminate(rb_context_t *cont)
|
|||||||
VALUE value = cont->value;
|
VALUE value = cont->value;
|
||||||
|
|
||||||
GetContPtr(cont->prev, prev_cont);
|
GetContPtr(cont->prev, prev_cont);
|
||||||
|
|
||||||
cont->alive = Qfalse;
|
cont->alive = Qfalse;
|
||||||
|
|
||||||
|
|
||||||
if (prev_cont->alive == Qfalse) {
|
if (prev_cont->alive == Qfalse) {
|
||||||
rb_fiber_yield(1, &value, GET_THREAD()->root_fiber);
|
rb_fiber_yield(1, &value, GET_THREAD()->root_fiber);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user