diff --git a/ChangeLog b/ChangeLog index 39e21fb72da97d32eb0aa6710d2e4fc3ebc10909..f294dbfbc1a105cc1764db6d8c68a15b8a1d259f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Tue Mar 11 10:17:53 EDT 2008 Daniel P. Berrange + + * 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 * docs/libvir.html docs/storage.html: apply documentation fixes diff --git a/qemud/qemud.c b/qemud/qemud.c index b6b82edb9deaf727b60a11d9764f2bc239d5dd26..1224f6e8756f1d8d807091b33a111937c4cff01c 100644 --- a/qemud/qemud.c +++ b/qemud/qemud.c @@ -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: