From bb1719875c357f8e1d58c430727973de810cb66c Mon Sep 17 00:00:00 2001 From: matz Date: Thu, 20 Dec 2007 23:33:32 +0000 Subject: [PATCH] * enumerator.c (enumerator_next): should call next_init() if fiber is dead already. [ruby-dev:32459] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14374 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ enumerator.c | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index f2352eca86..bc567f53a7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Fri Dec 21 08:07:35 2007 Yukihiro Matsumoto + + * enumerator.c (enumerator_next): should call next_init() if fiber + is dead already. [ruby-dev:32459] + Fri Dec 21 01:21:49 2007 GOTOU Yuuzou * ext/openssl/lib/openssl/ssl.rb (OpenSSL::SSL::SSLContext.build): diff --git a/enumerator.c b/enumerator.c index e348e68aa0..366c64c28a 100644 --- a/enumerator.c +++ b/enumerator.c @@ -408,7 +408,7 @@ enumerator_next(VALUE obj) VALUE curr, v; curr = rb_fiber_current(); - if (!e->fib) { + if (!e->fib || !rb_fiber_alive_p(e->fib)) { next_init(obj, e); }