diff options
| author | pyama86 <[email protected]> | 2018-08-06 18:15:00 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2018-08-06 19:13:19 +0900 |
| commit | 54246db00aa9ae5a048d65f4263a3d14fd65d9d0 (patch) | |
| tree | abb3ccb3072ee891f045b1ddeece68023f66a005 | |
| parent | 62e8e910b2905c9b7c964ad4e21c127f7ff3a706 (diff) | |
| download | mruby-54246db00aa9ae5a048d65f4263a3d14fd65d9d0.tar.gz mruby-54246db00aa9ae5a048d65f4263a3d14fd65d9d0.zip | |
irep is released when Fiber is terminated
| -rw-r--r-- | src/gc.c | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -965,9 +965,11 @@ gc_gray_mark(mrb_state *mrb, mrb_gc *gc, struct RBasic *obj) size_t i; mrb_callinfo *ci; - if (!c) break; + if (!c || c->status == MRB_FIBER_TERMINATED) break; + /* mark stack */ i = c->stack - c->stbase; + if (c->ci) { i += ci_nregs(c->ci); } |
