From b5726b7ee9fa8fa75eb823d8c5c23906d5af69a0 Mon Sep 17 00:00:00 2001 From: John Ferlan Date: Mon, 6 Nov 2017 16:51:02 -0500 Subject: [PATCH] libvirtd: Move pid_file_fd setup to before run_dir Once we have forked the daemon successfully, let's claim the pidfile immediately rather than waiting for setup of run_dir. --- daemon/libvirtd.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/daemon/libvirtd.c b/daemon/libvirtd.c index 589b32192e..4fc33ba0d4 100644 --- a/daemon/libvirtd.c +++ b/daemon/libvirtd.c @@ -1258,6 +1258,12 @@ int main(int argc, char **argv) { } } + /* Try to claim the pidfile, exiting if we can't */ + if ((pid_file_fd = virPidFileAcquirePath(pid_file, false, getpid())) < 0) { + ret = VIR_DAEMON_ERR_PIDFILE; + goto cleanup; + } + /* Ensure the rundir exists (on tmpfs on some systems) */ if (privileged) { if (VIR_STRDUP_QUIET(run_dir, LOCALSTATEDIR "/run/libvirt") < 0) { @@ -1286,12 +1292,6 @@ int main(int argc, char **argv) { } umask(old_umask); - /* Try to claim the pidfile, exiting if we can't */ - if ((pid_file_fd = virPidFileAcquirePath(pid_file, false, getpid())) < 0) { - ret = VIR_DAEMON_ERR_PIDFILE; - goto cleanup; - } - if (virNetlinkStartup() < 0) { ret = VIR_DAEMON_ERR_INIT; goto cleanup; -- GitLab