]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
util: Always pass a pid to virProcessSetMax*()
authorAndrea Bolognani <abologna@redhat.com>
Mon, 1 Mar 2021 11:03:18 +0000 (12:03 +0100)
committerAndrea Bolognani <abologna@redhat.com>
Mon, 8 Mar 2021 21:41:40 +0000 (22:41 +0100)
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>
src/util/vircommand.c

index 6a189babca0fc012be73a7cdfcf2b938bbaa9134..b72d2475fccac49c23fcfe8cdeb2628f539a8b73 100644 (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) {