[U-Boot] [PATCH] MAKEALL: fix kill_children for BSD hosts

Andreas Bießmann andreas.devel at googlemail.com
Wed Jan 23 00:51:09 CET 2013


ps on BSD hosts (like OS X) do not provide the --no-headers switch nor
understand the AIX format descriptions. Make the call for ps portable and filter
the relevant line from output (including the header) with sed.
Also switch from pgrep to ps to get the list of children and use the same
mechanism as for pgid.

This patch makes the MAKEALL script cleanly stoppable on bare OS X when using
the parallel builds of targets.

Signed-off-by: Andreas Bießmann <andreas.devel at googlemail.com>
Cc: Joe Hershberger <joe.hershberger at ni.com>
---
 MAKEALL | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/MAKEALL b/MAKEALL
index 5b06c54..d926846 100755
--- a/MAKEALL
+++ b/MAKEALL
@@ -784,8 +784,8 @@ build_targets() {
 #-----------------------------------------------------------------------
 
 kill_children() {
-	local pgid=`ps -p $$ --no-headers -o "%r" | tr -d ' '`
-	local children=`pgrep -g $pgid | grep -v $$ | grep -v $pgid`
+	local pgid=`ps -p $$ -o pgid | sed -e "/PGID/d"`
+	local children=`ps -g $pgid -o pid | sed -e "/PID\|$$\|$pgid/d"`
 
 	kill $children 2> /dev/null
 	wait $children 2> /dev/null
-- 
1.8.1.1



More information about the U-Boot mailing list