From: Andrea Bolognani Date: Mon, 1 Mar 2021 11:03:18 +0000 (+0100) Subject: util: Always pass a pid to virProcessSetMax*() X-Git-Tag: v7.2.0-rc1~198 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3d44a809c2ea2108e070bcfd5130071a0e4091d4;p=thirdparty%2Flibvirt.git 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 Reviewed-by: Michal Privoznik --- diff --git a/src/util/vircommand.c b/src/util/vircommand.c index 6a189babca..b72d2475fc 100644 --- a/src/util/vircommand.c +++ b/src/util/vircommand.c @@ -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) {