aboutsummaryrefslogtreecommitdiffstats
path: root/tools/libxl/xl.c
diff options
context:
space:
mode:
authorIan Campbell <ian.campbell@citrix.com>2010-07-30 15:15:54 +0100
committerIan Campbell <ian.campbell@citrix.com>2010-07-30 15:15:54 +0100
commit634026bb5740ee0c150fea0eea5371356fb0600e (patch)
tree882b6f61204e09ffc2be0ad43da134780ee386ad /tools/libxl/xl.c
parentd69dea6e515ffc08cb701da7cbe0e1be0cef0f9c (diff)
downloadxen-634026bb5740ee0c150fea0eea5371356fb0600e.tar.gz
xen-634026bb5740ee0c150fea0eea5371356fb0600e.tar.bz2
xen-634026bb5740ee0c150fea0eea5371356fb0600e.zip
xl: free the libxl context before exit
Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
Diffstat (limited to 'tools/libxl/xl.c')
-rw-r--r--tools/libxl/xl.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/tools/libxl/xl.c b/tools/libxl/xl.c
index 496eb54c33..85dbca52fa 100644
--- a/tools/libxl/xl.c
+++ b/tools/libxl/xl.c
@@ -40,6 +40,7 @@ int main(int argc, char **argv)
int opt = 0;
char *cmd = 0;
struct cmd_spec *cspec;
+ int ret;
while ((opt = getopt(argc, argv, "+v")) >= 0) {
switch (opt) {
@@ -72,12 +73,16 @@ int main(int argc, char **argv)
cspec = cmdtable_lookup(cmd);
if (cspec)
- return cspec->cmd_impl(argc, argv);
+ ret = cspec->cmd_impl(argc, argv);
else if (!strcmp(cmd, "help")) {
help(argv[optind]);
- exit(0);
+ ret = 0;
} else {
fprintf(stderr, "command not implemented\n");
- exit(1);
+ ret = 1;
}
+
+ libxl_ctx_free(&ctx);
+
+ return ret;
}