[macruby-changes] [4379] MacRuby/trunk/dispatcher.cpp
source_changes at macosforge.org
source_changes at macosforge.org
Sat Jul 24 11:58:07 PDT 2010
Revision: 4379
http://trac.macosforge.org/projects/ruby/changeset/4379
Author: lsansonetti at apple.com
Date: 2010-07-24 11:58:05 -0700 (Sat, 24 Jul 2010)
Log Message:
-----------
fix a crash when yielding a block inside a loop in a thread (#620, patch contributed by watson1978 at gmail.com)
Modified Paths:
--------------
MacRuby/trunk/dispatcher.cpp
Modified: MacRuby/trunk/dispatcher.cpp
===================================================================
--- MacRuby/trunk/dispatcher.cpp 2010-07-24 15:44:15 UTC (rev 4378)
+++ MacRuby/trunk/dispatcher.cpp 2010-07-24 18:58:05 UTC (rev 4379)
@@ -1210,7 +1210,9 @@
}
~Finally() {
vm->add_current_block(b);
- b->flags &= ~VM_BLOCK_THREAD;
+ if (vm == RoxorVM::main) {
+ b->flags &= ~VM_BLOCK_THREAD;
+ }
}
} finalizer(vm, b);
@@ -1338,7 +1340,7 @@
}
else {
assert(b->dvars_size == dvars_size);
- assert((b->flags & flags) == (flags & ~VM_BLOCK_THREAD));
+ assert((b->flags & flags) == flags);
}
b->proc = Qnil;
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-changes/attachments/20100724/263af775/attachment-0001.html>
More information about the macruby-changes
mailing list