[dpdk-stable] [PATCH] [v1 1/1] examples/kni: fix SIGTERM signal	handling
    vattunuru at marvell.com 
    vattunuru at marvell.com
       
    Tue Feb  4 09:42:14 CET 2020
    
    
  
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
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);
-- 
2.8.4
    
    
More information about the stable
mailing list