[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