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.
This commit is contained in:
John Ferlan 2017-11-06 16:51:02 -05:00
parent 13f5903919
commit b5726b7ee9

View File

@ -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;