way. It'll give up after about 30s, and assume that the server has
failed.
#! /bin/sh
#
# This file is part of DisOrder
#! /bin/sh
#
# This file is part of DisOrder
-# Copyright (C) 2004, 2007, 2008 Richard Kettlewell
+# Copyright (C) 2004, 2007-2009 Richard Kettlewell
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
+ local first
+ local time
invoke-rc.d disorder restart
invoke-rc.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
+ # 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 stablize in a reasonable amount of time"
+ exit 1
+ fi
+ if $first; then
+ printf "Waiting for server to stabilize"
+ first=false
+ fi
+ printf "."
+ sleep 1
+ fi
+ time=`expr $time + 1`
+ done
+ echo