]> git.proxmox.com Git - qemu.git/blobdiff - hw/xen_domainbuild.c
Convert atexit users to exit_notifier
[qemu.git] / hw / xen_domainbuild.c
index 2f59856f73c8d86861097388557662caeb66cdd5..b735ca453d91872c7c4d70c5191e277c2698627d 100644 (file)
@@ -211,7 +211,7 @@ static int xen_domain_watcher(void)
 }
 
 /* normal cleanup */
-static void xen_domain_cleanup(void)
+static void xen_domain_cleanup(Notifier *notifier)
 {
     char *dom;
 
@@ -232,6 +232,7 @@ int xen_domain_build_pv(const char *kernel, const char *ramdisk,
     unsigned int xenstore_port = 0, console_port = 0;
     unsigned long xenstore_mfn = 0, console_mfn = 0;
     int rc;
+    static Notifier exit_notifier = { .notify = xen_domain_cleanup };
 
     memcpy(uuid, qemu_uuid, sizeof(uuid));
     rc = xc_domain_create(xen_xc, ssidref, uuid, flags, &xen_domid);
@@ -240,7 +241,7 @@ int xen_domain_build_pv(const char *kernel, const char *ramdisk,
         goto err;
     }
     qemu_log("xen: created domain %d\n", xen_domid);
-    atexit(xen_domain_cleanup);
+    exit_notifier_add(&exit_notifier);
     if (xen_domain_watcher() == -1) {
         goto err;
     }