summaryrefslogtreecommitdiff
path: root/enumerator.c
diff options
context:
space:
mode:
authorBenoit Daloze <eregontp@gmail.com>2022-12-20 17:59:46 +0100
committerBenoit Daloze <eregontp@gmail.com>2022-12-20 19:32:23 +0100
commit45175962a6fd74ab2e9ba92f1280f3987af25494 (patch)
tree7a4fcccfd76b12ffdc853a93822ba74b56b4e6e6 /enumerator.c
parent88040063d0ec8aa64e0de2a3afae7286ec53bfdb (diff)
downloadruby-45175962a6fd74ab2e9ba92f1280f3987af25494.tar.gz
Never use the storage of another Fiber, that violates the whole design
* See https://bugs.ruby-lang.org/issues/19078#note-30
Diffstat (limited to 'enumerator.c')
-rw-r--r--enumerator.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/enumerator.c b/enumerator.c
index 5cbaaee04b..a4e9d9a5c8 100644
--- a/enumerator.c
+++ b/enumerator.c
@@ -767,8 +767,7 @@ next_init(VALUE obj, struct enumerator *e)
{
VALUE curr = rb_fiber_current();
e->dst = curr;
- // We inherit the fiber storage by reference, not by copy, by specifying Qfalse here.
- e->fib = rb_fiber_new_storage(next_i, obj, Qfalse);
+ e->fib = rb_fiber_new(next_i, obj);
e->lookahead = Qundef;
}