[dpdk-dev] [PATCH] [v1 1/1] examples/kni: fix SIGTERM signal handling

Ferruh Yigit ferruh.yigit at intel.com
Tue Feb 4 14:37:14 CET 2020


On 2/4/2020 8:42 AM, vattunuru at marvell.com wrote:
> From: Vamsi Attunuru <vattunuru at marvell.com>
> 
> Current KNI example application is not handling SIGTERM
> signal when application is killed without passing any
> specific signal in kill command.
> 
> Patch uses the existing signal handler for SIGTERM as well
> for graceful application exit.
> 
> Fixes: 13c4ebd65a77 ("examples: minor changes")
> Cc: stable at dpdk.org

Hi Vamsi,

No concern adding SIGTERM handling, although you can use 'kill' to send
supported signal (or just C-c (SIGINT)), it doesn't hurt to handle SIGTERM too
but that is not a fix.

Can you please reword to commit log to say SIGTERM handling added? Feel free to
add my ack on to it.

> 
> Signed-off-by: Vamsi Attunuru <vattunuru at marvell.com>
> ---
>  examples/kni/main.c | 11 ++++++++---
>  1 file changed, 8 insertions(+), 3 deletions(-)
> 
> diff --git a/examples/kni/main.c b/examples/kni/main.c
> index 5f713e6..29fc37e 100644
> --- a/examples/kni/main.c
> +++ b/examples/kni/main.c
> @@ -176,9 +176,13 @@ signal_handler(int signum)
>  		return;
>  	}
>  
> -	/* When we receive a RTMIN or SIGINT signal, stop kni processing */
> -	if (signum == SIGRTMIN || signum == SIGINT){
> -		printf("\nSIGRTMIN/SIGINT received. KNI processing stopping.\n");
> +	/*
> +	 * When we receive a RTMIN or SIGINT or SIGTERM signal,
> +	 * stop kni processing
> +	 */
> +	if (signum == SIGRTMIN || signum == SIGINT || signum == SIGTERM) {
> +		printf("\nSIGRTMIN/SIGINT/SIGTERM received. "
> +			"KNI processing stopping.\n");
>  		rte_atomic32_inc(&kni_stop);
>  		return;
>          }
> @@ -1006,6 +1010,7 @@ main(int argc, char** argv)
>  	signal(SIGUSR2, signal_handler);
>  	signal(SIGRTMIN, signal_handler);
>  	signal(SIGINT, signal_handler);
> +	signal(SIGTERM, signal_handler);
>  
>  	/* Initialise EAL */
>  	ret = rte_eal_init(argc, argv);
> 



More information about the dev mailing list