The nprocesses test is using the SIGPIPE signal to shutdown the
spawned child applications. This is done in order to silence
the shell message such as this one:

"nprocesses/test_nprocesses: line 79: 26458 Terminated"

This mechanism is broken on systems where the SIGPIPE default handler
is overriden (thus no application shutdown occurs) in the executing
environment. This could lead to stale applications polluting the system
and causing heratic behavior in subsequent tests.

This commit add a loop and check that all the spawned applications have
been successfully killed.

Signed-off-by: Christian Babeux <christian.bab...@efficios.com>
---
 tests/regression/ust/nprocesses/test_nprocesses | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/tests/regression/ust/nprocesses/test_nprocesses 
b/tests/regression/ust/nprocesses/test_nprocesses
index e89d02e..23d9a0a 100755
--- a/tests/regression/ust/nprocesses/test_nprocesses
+++ b/tests/regression/ust/nprocesses/test_nprocesses
@@ -74,8 +74,10 @@ destroy_lttng_session $SESSION_NAME
 
 rm -rf $TRACE_PATH
 
-# Send SIGPIPE to 'silence' bash process status such as "Process as terminated"
-killall -s PIPE -q $TEST_BIN_NAME >/dev/null 2>&1
+while [ -n "$(pidof $TEST_BIN_NAME)" ]; do
+       killall -q $TEST_BIN_NAME >/dev/null 2>&1
+       sleep 0.5
+done
 
 pass "Kill all spawned applications"
 
-- 
1.8.1.3


_______________________________________________
lttng-dev mailing list
lttng-dev@lists.lttng.org
http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev

Reply via email to