[libvirt] [PATCH] test_driver: implement virDomainSendProcessSignal
Erik Skultety
eskultet at redhat.com
Wed Jun 19 13:13:11 UTC 2019
On Tue, Jun 04, 2019 at 03:17:43PM +0200, Ilias Stamatis wrote:
> Only succeed when @pid_value is 1, since according to the docs this is
> the minimum requirement for any driver to implement this API.
>
> >From man 2 kill:
> The only signals that can be sent to process ID 1, the init process, are
> those for which init has explicitly installed signal handlers.
>
> Regarding sending SIGTERM and SIGKILL to init, the test driver domains
> pretend to run Linux, and on Linux init/systemd explicitly ignores these
> signals.
>
> Correspondingly, we can assume that no signal handlers are installed for
> any other signal and succeed by doing nothing.
>
> Signed-off-by: Ilias Stamatis <stamatis.iliass at gmail.com>
> ---
>
> Alternatively, we could succeed when @pid_value is any number or belongs
> to a set of specific numbers.
>
> src/test/test_driver.c | 35 +++++++++++++++++++++++++++++++++++
> 1 file changed, 35 insertions(+)
> mode change 100644 => 100755 src/test/test_driver.c
>
> diff --git a/src/test/test_driver.c b/src/test/test_driver.c
> old mode 100644
> new mode 100755
> index cae2521b21..490a605a77
> --- a/src/test/test_driver.c
> +++ b/src/test/test_driver.c
> @@ -2825,6 +2825,40 @@ static int testDomainSetMetadata(virDomainPtr dom,
> return ret;
> }
>
> +static int
> +testDomainSendProcessSignal(virDomainPtr dom,
> + long long pid_value,
> + unsigned int signum,
> + unsigned int flags)
> +{
> + int ret = -1;
> + virDomainObjPtr vm = NULL;
> +
> + virCheckFlags(0, -1);
> +
> + if (pid_value != 1) {
> + virReportError(VIR_ERR_INVALID_ARG,
> + _("only sending a signal to pid 1 is supported"));
^This fails make syntax-check, since % format specifier is always required, in
this case "%s".
I'll fix that before merging.
Erik
More information about the libvir-list
mailing list