Re: [PATCH 05/11] selftests: net/fcnal: kill_procs via spin instead of sleep

From: David Ahern
Date: Wed Oct 06 2021 - 10:45:08 EST


On 10/6/21 5:47 AM, Leonard Crestez wrote:
> Sleeping for one second after a kill is not necessary and adds up quite
> quickly. Replace with a fast loop spinning until pidof returns nothing.
>
> Signed-off-by: Leonard Crestez <cdleonard@xxxxxxxxx>
> ---
> tools/testing/selftests/net/fcnal-test.sh | 11 +++++++++--
> 1 file changed, 9 insertions(+), 2 deletions(-)
>
> diff --git a/tools/testing/selftests/net/fcnal-test.sh b/tools/testing/selftests/net/fcnal-test.sh
> index 0bd60cd3bc06..b7fda51deb3f 100755
> --- a/tools/testing/selftests/net/fcnal-test.sh
> +++ b/tools/testing/selftests/net/fcnal-test.sh
> @@ -176,12 +176,19 @@ show_hint()
> fi
> }
>
> kill_procs()
> {
> - killall nettest ping ping6 >/dev/null 2>&1
> - sleep 1
> + local pids
> + while true; do
> + pids=$(pidof nettest ping ping6)
> + if [[ -z $pids ]]; then
> + break
> + fi
> + kill $pids
> + sleep 0.01
> + done
> }
>
> do_run_cmd()
> {
> local cmd="$*"
>

ideally the script keeps track of processes it launches and only kills
those. The original killall was just a stop gap until the process
tracking was added.