util: fix success return for virProcessKillPainfullyDelay()

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>
This commit is contained in:
Jonathon Jongsma 2023-09-22 14:42:42 -05:00
parent 67e3164ecd
commit 85e893a836

View 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);