2010/12/18 Eric Blake <eblake(a)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