diff options
Diffstat (limited to 'cont.c')
-rw-r--r-- | cont.c | 8 |
1 files changed, 8 insertions, 0 deletions
@@ -704,6 +704,14 @@ cont_restore_thread(rb_context_t *cont) th->ec->root_svar = sec->root_svar; th->ec->ensure_list = sec->ensure_list; th->ec->errinfo = sec->errinfo; + + /* trace on -> trace off */ + if (sec->trace_arg == NULL && th->ec->trace_arg != NULL) { + GET_VM()->trace_running--; + } + else if (sec->trace_arg == NULL && th->ec->trace_arg != NULL) { + GET_VM()->trace_running++; + } th->ec->trace_arg = sec->trace_arg; VM_ASSERT(th->ec->vm_stack != NULL); |