| # HG changeset patch
# User Ian Campbell <ian.campbell@xxxxxxxxxx>
# Date 1282143676 -3600
# Node ID fabe8b10fdc20dc68738a6921ef1b0f66b761cc6
# Parent  b1f4b4be1f94c0007794f86abd019f5c2629c59b
xl: free all data on exit from the domain monitor daemon.
Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
diff -r b1f4b4be1f94 -r fabe8b10fdc2 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c  Wed Aug 18 16:00:29 2010 +0100
+++ b/tools/libxl/xl_cmdimpl.c  Wed Aug 18 16:01:16 2010 +0100
@@ -1557,9 +1557,11 @@ start:
                 if (ret) {
                     switch (handle_domain_death(&ctx, domid, &event, 
&d_config, &info)) {
                     case 2:
-                        if (!preserve_domain(&ctx, domid, &event, &d_config, 
&info))
+                        if (!preserve_domain(&ctx, domid, &event, &d_config, 
&info)) {
                             /* If we fail then exit leaving the old domain in 
place. */
-                            exit(-1);
+                            ret = -1;
+                            goto out;
+                        }
 
                         /* Otherwise fall through and restart. */
                     case 1:
@@ -1577,7 +1579,8 @@ start:
                         goto start;
                     case 0:
                         LOG("Done. Exiting now");
-                        exit(0);
+                        ret = 0;
+                        goto out;
                     }
                 }
                 break;
@@ -1589,13 +1592,13 @@ start:
         libxl_free_event(&event);
     }
 
-    close(logfile);
-    exit(0);
-
 error_out:
     if (domid)
         libxl_domain_destroy(&ctx, domid, 0);
+
 out:
+    if (logfile != 2)
+        close(logfile);
 
     free_domain_config(&d_config);
 
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
 |