Valgrind has two ways to control valgrinding into subprocesses,
--child-silent-after-fork and --trace-children.
--child-silent-after-fork=yes causes tracing to stop when the process
forks. However in nbdkit we want to continue tracing nbdkit when it
forks itself into the background, so I have removed this option now.
--trace-children=no causes tracing to stop when the program calls one
of the exec(2) functions. For nbdkit we want this function since we
don't want to trace into subprocesses (eg. when using
nbdkit-sh-plugin).
Note that although we are now tracing into the subprocess, the tests
will still not exit with error if the subprocess leaks memory because
we would need to properly ‘wait -n’ for the subprocess, which
tests/functions.sh does not do. However a message about the leak will
still get printed in the log.
---
wrapper.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/wrapper.c b/wrapper.c
index e5f74a2..eb50108 100644
--- a/wrapper.c
+++ b/wrapper.c
@@ -133,7 +133,6 @@ main (int argc, char *argv[])
passthru ("--error-exitcode=119");
passthru_format ("--suppressions=%s/valgrind-suppressions", srcdir);
passthru ("--trace-children=no");
- passthru ("--child-silent-after-fork=yes");
passthru ("--run-libc-freeres=no");
passthru ("--num-callers=20");
}
--
2.19.0.rc0