util: Always pass a pid to virProcessSetMax*()

Currently, the functions accept either an explicit pid or zero,
in which case the current process should be modified: the latter
might sound like a convenient little feature, but in reality
obtaining the pid of the current process is a single additional
function call away, so it hardly makes a difference.

Removing the few cases in which we're passing zero will allow us
to simplify and improve the functions later.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
Andrea Bolognani 2021-03-01 12:03:18 +01:00
parent fe82fdfb52
commit 3d44a809c2

View File

@ -793,11 +793,13 @@ virExec(virCommandPtr cmd)
}
}
pid = getpid();
if (cmd->pidfile) {
int pidfilefd = -1;
char c;
pidfilefd = virPidFileAcquirePath(cmd->pidfile, false, getpid());
pidfilefd = virPidFileAcquirePath(cmd->pidfile, false, pid);
if (pidfilefd < 0)
goto fork_error;
if (virSetInherit(pidfilefd, true) < 0) {
@ -817,14 +819,14 @@ virExec(virCommandPtr cmd)
/* pidfilefd is intentionally leaked. */
}
if (virProcessSetMaxMemLock(0, cmd->maxMemLock) < 0)
if (virProcessSetMaxMemLock(pid, cmd->maxMemLock) < 0)
goto fork_error;
if (virProcessSetMaxProcesses(0, cmd->maxProcesses) < 0)
if (virProcessSetMaxProcesses(pid, cmd->maxProcesses) < 0)
goto fork_error;
if (virProcessSetMaxFiles(0, cmd->maxFiles) < 0)
if (virProcessSetMaxFiles(pid, cmd->maxFiles) < 0)
goto fork_error;
if (cmd->setMaxCore &&
virProcessSetMaxCoreSize(0, cmd->maxCore) < 0)
virProcessSetMaxCoreSize(pid, cmd->maxCore) < 0)
goto fork_error;
if (cmd->hook) {