[LTP] [PATCH v3 2/4] shell: Prevent orphan timeout sleep processes

Cyril Hrubis chrubis@suse.cz
Mon May 10 13:44:10 CEST 2021


Hi!
> --- a/lib/newlib_tests/shell/timeout04.sh
> +++ b/lib/newlib_tests/shell/timeout04.sh
> @@ -9,7 +9,7 @@ TST_TIMEOUT=1
>  
>  do_test()
>  {
> -	tst_res TINFO "Start"
> +    tst_res TINFO "Start"
>      sleep 5
>      tst_res TFAIL "End"
>  }

This should be really fixed in the previous patch rather than here.

Other than this the rest looks good.

With the indentation fix moved to previous patch:

Reviewed-by: Cyril Hrubis <chrubis@suse.cz>

> diff --git a/testcases/lib/tst_test.sh b/testcases/lib/tst_test.sh
> index 951518785..ed2699175 100644
> --- a/testcases/lib/tst_test.sh
> +++ b/testcases/lib/tst_test.sh
> @@ -23,14 +23,6 @@ export TST_LIB_LOADED=1
>  # default trap function
>  trap "tst_brk TBROK 'test interrupted or timed out'" INT
>  
> -_tst_cleanup_timer()
> -{
> -	if [ -n "$_tst_setup_timer_pid" ]; then
> -		kill $_tst_setup_timer_pid 2>/dev/null
> -		wait $_tst_setup_timer_pid 2>/dev/null
> -	fi
> -}
> -
>  _tst_do_exit()
>  {
>  	local ret=0
> @@ -463,6 +455,25 @@ _tst_kill_test()
>  	fi
>  }
>  
> +_tst_cleanup_timer()
> +{
> +	if [ -n "$_tst_setup_timer_pid" ]; then
> +		kill -TERM $_tst_setup_timer_pid 2>/dev/null
> +		wait $_tst_setup_timer_pid 2>/dev/null
> +	fi
> +}
> +
> +_tst_timeout_process()
> +{
> +	local sleep_pid
> +
> +	sleep $sec &
> +	sleep_pid=$!
> +	trap "kill $sleep_pid; exit" TERM
> +	wait $sleep_pid
> +	_tst_kill_test
> +}
> +
>  _tst_setup_timer()
>  {
>  	TST_TIMEOUT=${TST_TIMEOUT:-300}
> @@ -486,7 +497,8 @@ _tst_setup_timer()
>  	tst_res TINFO "timeout per run is ${h}h ${m}m ${s}s"
>  
>  	_tst_cleanup_timer
> -	sleep $sec && _tst_kill_test &
> +
> +	_tst_timeout_process &
>  
>  	_tst_setup_timer_pid=$!
>  }
> -- 
> 2.30.2
> 
> 
> -- 
> Mailing list info: https://lists.linux.it/listinfo/ltp

-- 
Cyril Hrubis
chrubis@suse.cz


More information about the ltp mailing list