diff mbox series

[master/kirkstone,24/52] weston-init: fix killproc for thinlinux so that it doesn't kill itself

Message ID 20220913040246.2365077-25-denis@denix.org
State Accepted
Delegated to: Ryan Eatmon
Headers show
Series Latest 2022.09 sync-up with Dunfell | expand

Commit Message

Denys Dmytriyenko Sept. 13, 2022, 4:02 a.m. UTC
From: Darren Etheridge <detheridge@ti.com>

busybox pidof doesn't omit the current pid
as this script is called weston on the target
in thinlinux with a busybox based utility load
later killproc operations end up killing this
script, which leads to the script not actually
starting weston.

Signed-off-by: Darren Etheridge <detheridge@ti.com>
Signed-off-by: Ryan Eatmon <reatmon@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@konsulko.com>
---
 .../recipes-graphics/wayland/weston-init/init   | 17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)
diff mbox series

Patch

diff --git a/meta-arago-distro/recipes-graphics/wayland/weston-init/init b/meta-arago-distro/recipes-graphics/wayland/weston-init/init
index 7a80238b..fa3f0372 100644
--- a/meta-arago-distro/recipes-graphics/wayland/weston-init/init
+++ b/meta-arago-distro/recipes-graphics/wayland/weston-init/init
@@ -9,8 +9,21 @@ 
 ### END INIT INFO
 
 killproc() {
-        pid=`/bin/pidof $1`
-        [ "$pid" != "" ] && kill $pid
+	all_pids=`/bin/pidof $1`
+
+	# busybox pidof doesn't ommit the current pid
+	# as this script is called weston on the target
+	# in thinlinux with a busybox based utility load
+	# later killproc operations end up killing this
+	# script.
+	for pid in $all_pids
+	do
+		if [ "$pid" != "$$" ]; then
+			kill_pids+=$pid
+		fi
+	done
+
+	[ "$kill_pids" != "" ] && kill $kill_pids
 }
 
 read CMDLINE < /proc/cmdline