[bitbake-devel] [PATCH 6/8] toaster: server shutdown on terminal exit
Paul Eggleton
paul.eggleton at linux.intel.com
Fri Nov 1 15:58:33 UTC 2013
From: Alexandru DAMIAN <alexandru.damian at intel.com>
If the terminal where the server was started is closed,
the bitbake server should shutdown. Currently the system
is left in hanging state.
This patch uses "trap" command to make sure the servers
are closed on terminal exit.
[YOCTO #5376]
Signed-off-by: Alexandru DAMIAN <alexandru.damian at intel.com>
Signed-off-by: Paul Eggleton <paul.eggleton at linux.intel.com>
---
bin/toaster | 29 ++++++++++++++++++++---------
1 file changed, 20 insertions(+), 9 deletions(-)
diff --git a/bin/toaster b/bin/toaster
index 16de52b..cc631f6 100755
--- a/bin/toaster
+++ b/bin/toaster
@@ -49,6 +49,19 @@ function webserverStartAll()
return $retval
}
+# define the stop command
+function stop_system()
+{
+ if [ -f ${BUILDDIR}/.toasterui.pid ]; then
+ kill $(< ${BUILDDIR}/.toasterui.pid )
+ rm ${BUILDDIR}/.toasterui.pid
+ fi
+ BBSERVER=localhost:8200 bitbake -m
+ unset BBSERVER
+ webserverKillAll
+ # force stop any misbehaving bitbake server
+ lsof bitbake.lock | awk '{print $2}' | grep "[0-9]\+" | xargs -n1 -r kill
+}
# We make sure we're running in the current shell and in a good environment
@@ -116,6 +129,9 @@ and
fi
+
+
+
# Execute the commands
case $CMD in
@@ -127,17 +143,12 @@ case $CMD in
if [ $NOTOASTERUI == 0 ]; then # we start the TOASTERUI only if not inhibited
bitbake --observe-only -u toasterui >${BUILDDIR}/toaster_ui.log 2>&1 & echo $! >${BUILDDIR}/.toasterui.pid
fi
+ # stop system on terminal exit
+ trap stop_system SIGHUP
;;
stop )
- if [ -f ${BUILDDIR}/.toasterui.pid ]; then
- kill $(< ${BUILDDIR}/.toasterui.pid )
- rm ${BUILDDIR}/.toasterui.pid
- fi
- bitbake -m
- unset BBSERVER
- webserverKillAll
- # force stop any misbehaving bitbake server
- lsof bitbake.lock | awk '{print $2}' | grep "[0-9]\+" | xargs -n1 -r kill
+ stop_system
+ trap '' SIGHUP
;;
esac
--
1.8.1.2
More information about the bitbake-devel
mailing list