[MacRuby-devel] [MacRuby] #620: Yielding a block inside a loop in a thread crashes the VM
MacRuby
ruby-noreply at macosforge.org
Fri Jul 23 17:45:50 PDT 2010
#620: Yielding a block inside a loop in a thread crashes the VM
---------------------------------+------------------------------------------
Reporter: honglilai@… | Owner: lsansonetti@…
Type: defect | Status: new
Priority: blocker | Milestone:
Component: MacRuby | Keywords:
---------------------------------+------------------------------------------
Comment(by lsansonetti@…):
Thanks for the detective work & patch! It seems clearer now.
I wonder if the following patch isn't safer, though.
{{{
Index: dispatcher.cpp
===================================================================
--- dispatcher.cpp (revision 4369)
+++ dispatcher.cpp (working copy)
@@ -1338,7 +1338,7 @@
}
else {
assert(b->dvars_size == dvars_size);
- assert((b->flags & flags) == flags);
+ assert((b->flags & flags) == (flags & ~VM_BLOCK_THREAD));
}
b->proc = Qnil;
}}}
Actually, I wonder if we shouldn't get rid of this assert.
--
Ticket URL: <http://www.macruby.org/trac/ticket/620#comment:4>
MacRuby <http://macruby.org/>
More information about the MacRuby-devel
mailing list