]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
util: fix success return for virProcessKillPainfullyDelay()
authorJonathon Jongsma <jjongsma@redhat.com>
Fri, 22 Sep 2023 19:42:42 +0000 (14:42 -0500)
committerJonathon Jongsma <jjongsma@redhat.com>
Mon, 2 Oct 2023 13:52:03 +0000 (08:52 -0500)
virProcessKillPainfullyDelay() currently almost always returns 1 or -1,
even though the documentation indicates that it should return 0 if the
process was terminated gracefully. But the computation of the return
code is faulty and the only case where it currently returns 0 is when it
is called with the pid of a process that does not exist.

Since no callers ever even distinguish between the 0 and 1 response
codes, simply get rid of the distinction and return 0 for both cases.

Signed-off-by: Jonathon Jongsma <jjongsma@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
src/util/virprocess.c

index 6ce5ef99a92f17a0e5542e2b667a412c6c1c581f..b6fb17db833e58346325494ac014def021fbd41a 100644 (file)
@@ -363,9 +363,8 @@ pid_t virProcessGroupGet(pid_t pid)
 /*
  * Try to kill the process and verify it has exited
  *
- * Returns 0 if it was killed gracefully, 1 if it
- * was killed forcibly, -1 if it is still alive,
- * or another error occurred.
+ * Returns 0 if it was killed, -1 if it is still alive or another error
+ * occurred.
  *
  * Callers can provide an extra delay in seconds to
  * wait longer than the default.
@@ -426,7 +425,7 @@ virProcessKillPainfullyDelay(pid_t pid, bool force, unsigned int extradelay, boo
                                      (long long)pid, signame);
                 return -1;
             }
-            return signum == SIGTERM ? 0 : 1;
+            return 0;
         }
 
         g_usleep(200 * 1000);