summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2017-11-29 11:57:33 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2017-11-29 11:57:33 +0900
commitd4fc98052730c7f1716166fb87f9aab00cbfec1d (patch)
tree37e26f732509bec6dc7ed13940210752f71eed8f /src
parent6bb5ad786c7a4d70110e4613dea80cf4fadf68aa (diff)
downloadmruby-d4fc98052730c7f1716166fb87f9aab00cbfec1d.tar.gz
mruby-d4fc98052730c7f1716166fb87f9aab00cbfec1d.zip
Need to evaluate ensure clauses at fiber termination.
Diffstat (limited to 'src')
-rw-r--r--src/vm.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/vm.c b/src/vm.c
index ddb73d1a4..57df9d042 100644
--- a/src/vm.c
+++ b/src/vm.c
@@ -1896,6 +1896,9 @@ RETRY_TRY_BLOCK:
else {
struct mrb_context *c = mrb->c;
+ while (c->eidx > ci->epos) {
+ ecall_adjust();
+ }
if (c->fib) {
mrb_write_barrier(mrb, (struct RBasic*)c->fib);
}