summaryrefslogtreecommitdiff
path: root/eval.c
diff options
context:
space:
mode:
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/eval.c b/eval.c
index 483beea2db..5961e1ec62 100644
--- a/eval.c
+++ b/eval.c
@@ -1301,7 +1301,7 @@ ruby_options(argc, argv)
if ((state = EXEC_TAG()) == 0) {
ruby_process_options(argc, argv);
}
- if (state) {
+ else {
trace_func = 0;
tracing = 0;
exit(error_handle(state));
@@ -1347,6 +1347,7 @@ ruby_cleanup(ex)
volatile VALUE err = ruby_errinfo;
ruby_safe_level = 0;
+ Init_stack((void*)&state);
ruby_finalize_0();
if (ruby_errinfo) err = ruby_errinfo;
PUSH_TAG(PROT_NONE);