- /etc/init.d/disorder restart
- # Wait for the server to get going. This is a horrid bodge and ought
- # to be done away with, but is required for the time being. Sorry.
- sleep 5
+ local first
+ local time
+ invoke-rc.d disorder restart
+ # Wait for the server to start
+ first=true
+ time=0
+ while :; do
+ if disorder version >/dev/null 2>&1; then
+ break
+ else
+ if [ $time -gt 30 ]; then
+ echo
+ echo "Server did not stabilise in a reasonable amount of time"
+ exit 1
+ fi
+ if $first; then
+ printf "Waiting for server to stabilise"
+ first=false
+ fi
+ printf "."
+ sleep 1
+ fi
+ time=`expr $time + 1`
+ done
+ echo