From d8bcf30a2cbf9113834848b61de6997c70e1da28 Mon Sep 17 00:00:00 2001
From: Torsten Merz <torsten.merz@gmx.de>
Date: Mon, 13 Sep 2021 10:26:13 +1000
Subject: [PATCH] included killing child processes in process kill function

---
 smi/src/smi_def.h      | 2 +-
 smi/src/taskdisp_nrt.c | 4 +++-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/smi/src/smi_def.h b/smi/src/smi_def.h
index 1c79e15..1989e79 100644
--- a/smi/src/smi_def.h
+++ b/smi/src/smi_def.h
@@ -2,7 +2,7 @@
 #define SMIDEF_H
 
 #define VERSION_MAJOR 2
-#define VERSION_MINOR 19
+#define VERSION_MINOR 20
 
 #define ATOMIC_UNLOCKED -1 
 #define ATOMIC_UNLOCKED0 0
diff --git a/smi/src/taskdisp_nrt.c b/smi/src/taskdisp_nrt.c
index c604c5a..931eec9 100644
--- a/smi/src/taskdisp_nrt.c
+++ b/smi/src/taskdisp_nrt.c
@@ -103,7 +103,9 @@ void killProcess_(processType nrtProcessID)
 	) {
 		printf("[killProcess_] killing process %lld nrtProcessID=%d\n",
 			(long long int)shm->pid[nrtProcessID],nrtProcessID); 
-		sprintf(str,"kill -9 %lld\n",(long long int)shm->pid[nrtProcessID]);
+//		sprintf(str,"kill -9 %lld\n",(long long int)shm->pid[nrtProcessID]);
+// kill also child procresses
+		sprintf(str,"pkill -9 -P %lld\n",(long long int)shm->pid[nrtProcessID]);
 		ret=system(str);
                 ret=ret; // eliminate compiler warning
 		usleep(STD_SLEEP); // possibly longer sleep time required
-- 
GitLab