summaryrefslogtreecommitdiffhomepage
path: root/tools
diff options
context:
space:
mode:
authorMitchell Blank Jr <[email protected]>2012-05-22 01:03:54 -0700
committerMitchell Blank Jr <[email protected]>2012-05-22 01:03:54 -0700
commitd1cd10421f8bfeee791ea7ecd1674eccd00000ae (patch)
treeb0a5df7a59f0a3ca8452c7cef5c88fe2f6cad8f7 /tools
parent8c084b9645ddc376403aa6c32a3e703ecc28d400 (diff)
downloadmruby-d1cd10421f8bfeee791ea7ecd1674eccd00000ae.tar.gz
mruby-d1cd10421f8bfeee791ea7ecd1674eccd00000ae.zip
change example code to do mrb_close()
I was hoping this would cause valgrind to complain less, but there is still a lot of memory leaked (does mrb_close() actually free all of the managed blocks?) Anyway this helps somewhat and is good practice
Diffstat (limited to 'tools')
-rw-r--r--tools/mirb/mirb.c1
-rw-r--r--tools/mrbc/mrbc.c4
-rw-r--r--tools/mruby/mruby.c1
3 files changed, 6 insertions, 0 deletions
diff --git a/tools/mirb/mirb.c b/tools/mirb/mirb.c
index a5285df0f..459923768 100644
--- a/tools/mirb/mirb.c
+++ b/tools/mirb/mirb.c
@@ -227,6 +227,7 @@ main(void)
}
}
}
+ mrb_close(mrb_interpreter);
return 0;
}
diff --git a/tools/mrbc/mrbc.c b/tools/mrbc/mrbc.c
index dd210bfa9..e711b69cb 100644
--- a/tools/mrbc/mrbc.c
+++ b/tools/mrbc/mrbc.c
@@ -163,12 +163,14 @@ main(int argc, char **argv)
if (n < 0 || args.rfp == NULL) {
cleanup(&args);
usage(argv[0]);
+ mrb_close(mrb);
return n;
}
p = mrb_parse_file(mrb, args.rfp);
if (!p || !p->tree || p->nerr) {
cleanup(&args);
+ mrb_close(mrb);
return -1;
}
@@ -183,6 +185,7 @@ main(int argc, char **argv)
if (n < 0 || args.check_syntax) {
cleanup(&args);
+ mrb_close(mrb);
return n;
}
if (args.initname) {
@@ -196,6 +199,7 @@ main(int argc, char **argv)
}
cleanup(&args);
+ mrb_close(mrb);
return n;
}
diff --git a/tools/mruby/mruby.c b/tools/mruby/mruby.c
index 50c99345b..8b227df5d 100644
--- a/tools/mruby/mruby.c
+++ b/tools/mruby/mruby.c
@@ -130,6 +130,7 @@ cleanup(mrb_state *mrb, struct _args *args)
mrb_free(mrb, args->cmdline);
if (args->argv)
mrb_free(mrb, args->argv);
+ mrb_close(mrb);
}
int