From b194c0c00a2d7fb96e9eaef43c770b15fcebb0b9 Mon Sep 17 00:00:00 2001 From: Ed Bartosh Date: Thu, 17 Dec 2015 16:48:54 +0000 Subject: bitbake: toaster: move startup checks to a better place Moved addr:port, bitbake.lock and toastermain.pid checks to the place where the rest of Toaster starting happens. (Bitbake rev: 0e7812b5512e609ea815db30be1d7caca896ab60) Signed-off-by: Ed Bartosh Signed-off-by: Elliot Smith Signed-off-by: Richard Purdie --- bitbake/bin/toaster | 49 +++++++++++++++++++++++-------------------------- 1 file changed, 23 insertions(+), 26 deletions(-) (limited to 'bitbake/bin/toaster') diff --git a/bitbake/bin/toaster b/bitbake/bin/toaster index 1f4c400fdf..6dd20c11d1 100755 --- a/bitbake/bin/toaster +++ b/bitbake/bin/toaster @@ -288,36 +288,33 @@ fi echo "The system will $CMD." -# check if addr:port is not in use -if [ "$CMD" == 'start' ]; then - $MANAGE checksocket "0.0.0.0:$WEB_PORT" || return 1 -fi - -# Make sure it's safe to run by checking bitbake lock - -lock=1 -if [ -e $BUILDDIR/bitbake.lock ]; then - python -c "import fcntl; fcntl.flock(open(\"$BUILDDIR/bitbake.lock\"), fcntl.LOCK_EX|fcntl.LOCK_NB)" 2>/dev/null || lock=0 -fi - -if [ ${CMD} = 'start' ] && [ $lock -eq 0 ]; then - echo "Error: bitbake lock state error. File locks show that the system is on." 1>&2 - echo "Please wait for the current build to finish, stop and then start the system again." 1>&2 - return 3 -fi - -if [ ${CMD} = 'start' ] && [ -e $BUILDDIR/.toastermain.pid ] && kill -0 `cat $BUILDDIR/.toastermain.pid`; then - echo "Warning: bitbake appears to be dead, but the Toaster web server is running." 1>&2 - echo " Something fishy is going on." 1>&2 - echo "Cleaning up the web server to start from a clean slate." - webserverKillAll -fi - - # Execute the commands case $CMD in start ) + # check if addr:port is not in use + if [ "$CMD" == 'start' ]; then + $MANAGE checksocket "0.0.0.0:$WEB_PORT" || return 1 + fi + + # Make sure it's safe to start by checking bitbake lock + if [ -e $BUILDDIR/bitbake.lock ]; then + python -c "import fcntl; fcntl.flock(open(\"$BUILDDIR/bitbake.lock\"), fcntl.LOCK_EX|fcntl.LOCK_NB)" 2>/dev/null + if [ $? -ne 0 ] ; then + echo "Error: bitbake lock state error. File locks show that the system is on." 1>&2 + echo "Please wait for the current build to finish, stop and then start the system again." 1>&2 + return 3 + fi + fi + + # kill Toaster web server if it's alive + if [ -e $BUILDDIR/.toastermain.pid ] && kill -0 `cat $BUILDDIR/.toastermain.pid`; then + echo "Warning: bitbake appears to be dead, but the Toaster web server is running." 1>&2 + echo " Something fishy is going on." 1>&2 + echo "Cleaning up the web server to start from a clean slate." + webserverKillAll + fi + # Create configuration file conf=${BUILDDIR}/conf/toaster.conf echo "# Created by toaster start script" > $conf -- cgit v1.2.3-54-g00ecf