
2010/12/18 Eric Blake <eblake@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