[libvirt] [PATCHv2 4/7] tests: avoid data race

Matthias Bolte matthias.bolte at googlemail.com
Sat Dec 18 16:09:51 UTC 2010


2010/12/18 Eric Blake <eblake at redhat.com>:
> I got some spurious failures when commandhelper won the race and
> ran to the point of parent detection prior to the intermediate
> daemonizing process getting a chance to exit.  This fixes it.
>
> * tests/commandhelper.c (main): Checking for re-parenting to
> init(1) is racy; instead check that we belong to a new session.
> ---
>  tests/commandhelper.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/tests/commandhelper.c b/tests/commandhelper.c
> index 5b2f301..f400e8d 100644
> --- a/tests/commandhelper.c
> +++ b/tests/commandhelper.c
> @@ -95,7 +95,7 @@ int main(int argc, char **argv) {
>             fprintf(log, "FD:%d\n", i);
>     }
>
> -    fprintf(log, "DAEMON:%s\n", getppid() == 1 ? "yes" : "no");
> +    fprintf(log, "DAEMON:%s\n", getpgrp() == getsid(0) ? "yes" : "no");
>     char cwd[1024];
>     if (!getcwd(cwd, sizeof(cwd)))
>         return EXIT_FAILURE;
> --
>

ACK.

Matthias




More information about the libvir-list mailing list