[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen-unstable] xl: free all data on exit from the domain monitor daemon.



# HG changeset patch
# User Ian Campbell <ian.campbell@xxxxxxxxxx>
# Date 1282225224 -3600
# Node ID 3a4c6c054b29d0ee61016ca25feba0de593e67e2
# Parent  6bd04080ab998dd9d5388f1b5f74eab07df519db
xl: free all data on exit from the domain monitor daemon.

[PATCH 01 of 16
 libxl: autogenerate type definitions and destructor functions]

Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
Signed-off-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
---
 tools/libxl/xl_cmdimpl.c |   15 +++++++++------
 1 files changed, 9 insertions(+), 6 deletions(-)

diff -r 6bd04080ab99 -r 3a4c6c054b29 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c  Wed Aug 18 18:06:10 2010 +0100
+++ b/tools/libxl/xl_cmdimpl.c  Thu Aug 19 14:40:24 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-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.