Don't clear cfp, it causes problems.

This commit is contained in:
Samuel Williams 2019-06-20 14:55:43 +12:00
Родитель 15c4f6aed2
Коммит 7d9d1ed463
2 изменённых файлов: 3 добавлений и 6 удалений

Просмотреть файл

@ -599,11 +599,8 @@ thread_cleanup_func_before_exec(void *th_ptr)
// The thread stack doesn't exist in the forked process:
th->ec->machine.stack_start = th->ec->machine.stack_end = NULL;
// Appears to be causing a lot of issues.
if (0) {
// The vm_stack is `alloca`ed on the thread stack, so it's gone too:
rb_ec_clear_vm_stack(th->ec);
}
// The vm_stack is `alloca`ed on the thread stack, so it's gone too:
rb_ec_clear_vm_stack(th->ec);
}
static void

2
vm.c
Просмотреть файл

@ -2714,7 +2714,7 @@ rb_ec_clear_vm_stack(rb_execution_context_t *ec)
rb_ec_set_vm_stack(ec, NULL, 0);
// Avoid dangling pointers:
ec->cfp = NULL;
// ec->cfp = NULL;
}
static void