]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
Don't run cleannup code for parent process in daemon mode
authorDaniel P. Berrange <berrange@redhat.com>
Tue, 11 Mar 2008 14:22:12 +0000 (14:22 +0000)
committerDaniel P. Berrange <berrange@redhat.com>
Tue, 11 Mar 2008 14:22:12 +0000 (14:22 +0000)
ChangeLog
qemud/qemud.c

index 39e21fb72da97d32eb0aa6710d2e4fc3ebc10909..f294dbfbc1a105cc1764db6d8c68a15b8a1d259f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Tue Mar 11 10:17:53 EDT 2008 Daniel P. Berrange <berrange@redhat.com>
+
+       * qemud/qemud.c: Don't run cleanup code when parent process is
+       exiting in daemon mode.
+
 Fri Mar  7 12:11:53 CET 2008 Daniel Veillard <veillard@redhat.com>
 
        * docs/libvir.html docs/storage.html: apply documentation fixes
index b6b82edb9deaf727b60a11d9764f2bc239d5dd26..1224f6e8756f1d8d807091b33a111937c4cff01c 100644 (file)
@@ -393,7 +393,7 @@ static int qemudGoDaemon(void) {
             case -1:
                 return -1;
             default:
-                return nextpid;
+                _exit(0);
             }
 
         cleanup:
@@ -418,8 +418,7 @@ static int qemudGoDaemon(void) {
                 status != 0) {
                 return -1;
             }
-
-            return pid;
+            _exit(0);
         }
     }
 }
@@ -2116,16 +2115,12 @@ int main(int argc, char **argv) {
         goto error1;
 
     if (godaemon) {
-        int pid;
         openlog("libvirtd", 0, 0);
-        pid = qemudGoDaemon();
-        if (pid < 0) {
+        if (qemudGoDaemon() < 0) {
             qemudLog(QEMUD_ERR, _("Failed to fork as daemon: %s"),
                      strerror(errno));
             goto error1;
         }
-        if (pid > 0)
-            goto out;
 
         /* Choose the name of the PID file. */
         if (!pid_file) {
@@ -2172,7 +2167,6 @@ int main(int argc, char **argv) {
     if (godaemon)
         closelog();
 
- out:
     ret = 0;
 
  error2: