diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2017-05-25 14:36:25 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2017-05-25 14:36:25 +0900 |
| commit | 517cd51cea4bcc61444b02861f3e0d8cb93b6383 (patch) | |
| tree | 5c0ab17cdfd4242f87ee9fd2f063df66eaacb6e6 /src | |
| parent | ed16535c73b9eb763e445e23489e7a73144f6f09 (diff) | |
| download | mruby-517cd51cea4bcc61444b02861f3e0d8cb93b6383.tar.gz mruby-517cd51cea4bcc61444b02861f3e0d8cb93b6383.zip | |
Invoke ensure clauses before switching context from fibers; fix #3662
Diffstat (limited to 'src')
| -rw-r--r-- | src/vm.c | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -1870,6 +1870,9 @@ RETRY_TRY_BLOCK: if (mrb->c->ci == mrb->c->cibase && mrb->c->ci->pc) { struct mrb_context *c = mrb->c; + while (eidx > 0) { + ecall(mrb, --eidx); + } mrb->c = c->prev; c->prev = NULL; ci = mrb->c->ci; |
