mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-11 15:27:47 +00:00
qemuProcessStartManagedPRDaemon: Don't pass -f pidfile to the daemon
Now, that our virCommandSetPidFile() is more intelligent we don't need to rely on the daemon to create and lock the pidfile and use virCommandSetPidFile() at the same time. NOTE that as advertised in the previous commit, this was temporarily broken, because both virCommand and qemuProcessStartManagedPRDaemon() would try to lock the pidfile. Signed-off-by: Michal Privoznik <mprivozn@redhat.com> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
This commit is contained in:
parent
d146105f1e
commit
a02c589886
@ -2850,7 +2850,6 @@ qemuProcessStartManagedPRDaemon(virDomainObjPtr vm)
|
||||
g_autoptr(virQEMUDriverConfig) cfg = NULL;
|
||||
int errfd = -1;
|
||||
g_autofree char *pidfile = NULL;
|
||||
int pidfd = -1;
|
||||
g_autofree char *socketPath = NULL;
|
||||
pid_t cpid = -1;
|
||||
g_autoptr(virCommand) cmd = NULL;
|
||||
@ -2869,10 +2868,6 @@ qemuProcessStartManagedPRDaemon(virDomainObjPtr vm)
|
||||
if (!(pidfile = qemuProcessBuildPRHelperPidfilePath(vm)))
|
||||
goto cleanup;
|
||||
|
||||
/* Just try to acquire. Dummy pid will be replaced later */
|
||||
if ((pidfd = virPidFileAcquirePath(pidfile, false, -1)) < 0)
|
||||
goto cleanup;
|
||||
|
||||
if (!(socketPath = qemuDomainGetManagedPRSocketPath(priv)))
|
||||
goto cleanup;
|
||||
|
||||
@ -2887,13 +2882,10 @@ qemuProcessStartManagedPRDaemon(virDomainObjPtr vm)
|
||||
|
||||
if (!(cmd = virCommandNewArgList(cfg->prHelperName,
|
||||
"-k", socketPath,
|
||||
"-f", pidfile,
|
||||
NULL)))
|
||||
goto cleanup;
|
||||
|
||||
virCommandDaemonize(cmd);
|
||||
/* We want our virCommand to write child PID into the pidfile
|
||||
* so that we can read it even before exec(). */
|
||||
virCommandSetPidFile(cmd, pidfile);
|
||||
virCommandSetErrorFD(cmd, &errfd);
|
||||
|
||||
@ -2956,7 +2948,6 @@ qemuProcessStartManagedPRDaemon(virDomainObjPtr vm)
|
||||
if (pidfile)
|
||||
unlink(pidfile);
|
||||
}
|
||||
VIR_FORCE_CLOSE(pidfd);
|
||||
VIR_FORCE_CLOSE(errfd);
|
||||
return ret;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user