examples/kni: add SIGTERM signal handling

SIGTERM handling is added for graceful application exit.
Useful when application is terminated without specifying
any signal on 'kill' command.

Signed-off-by: Vamsi Attunuru <vattunuru@marvell.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
This commit is contained in:
Vamsi Attunuru 2020-02-06 17:23:57 +05:30 committed by David Marchand
parent 38ad54f3bc
commit 2a115479c6

View File

@ -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);