summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2018-03-05 10:26:02 +0900
committerGitHub <[email protected]>2018-03-05 10:26:02 +0900
commite924501693809c7288fe23cc6b4d3b89fdb56509 (patch)
treeba9e7045e4e5bff3597b514a143cb73e9f1abc3d
parent10f28fc82d497233a4d60b0b3e2800cb3a6e2e9c (diff)
parent0f5cf385b839d6afcaf7a194292bdfce0c4e1b0a (diff)
downloadmruby-e924501693809c7288fe23cc6b4d3b89fdb56509.tar.gz
mruby-e924501693809c7288fe23cc6b4d3b89fdb56509.zip
Merge pull request #3964 from take-cheeze/patch-1
Close `mrb_state` before error exit.
-rw-r--r--mrbgems/mruby-test/init_mrbtest.c1
-rw-r--r--mrbgems/mruby-test/mrbgem.rake1
2 files changed, 2 insertions, 0 deletions
diff --git a/mrbgems/mruby-test/init_mrbtest.c b/mrbgems/mruby-test/init_mrbtest.c
index 17ac1bdef..7678a5200 100644
--- a/mrbgems/mruby-test/init_mrbtest.c
+++ b/mrbgems/mruby-test/init_mrbtest.c
@@ -31,6 +31,7 @@ mrb_init_mrbtest(mrb_state *mrb)
if (mrb->exc) {
mrb_print_error(mrb);
+ mrb_close(mrb);
exit(EXIT_FAILURE);
}
mrb_close(core_test);
diff --git a/mrbgems/mruby-test/mrbgem.rake b/mrbgems/mruby-test/mrbgem.rake
index 49714078b..7da0b5e50 100644
--- a/mrbgems/mruby-test/mrbgem.rake
+++ b/mrbgems/mruby-test/mrbgem.rake
@@ -101,6 +101,7 @@ MRuby::Gem::Specification.new('mruby-test') do |spec|
end
f.puts %Q[ if (mrb2->exc) {]
f.puts %Q[ mrb_print_error(mrb2);]
+ f.puts %Q[ mrb_close(mrb2);]
f.puts %Q[ exit(EXIT_FAILURE);]
f.puts %Q[ }]
f.puts %Q[ mrb_const_set(mrb2, mrb_obj_value(mrb2->object_class), mrb_intern_lit(mrb2, "GEMNAME"), mrb_str_new(mrb2, "#{g.name}", #{g.name.length}));]