From: Harlan Stenn Date: Fri, 11 Feb 2000 01:31:35 +0000 (-0000) Subject: ChangeLog, ntp-wait.in: X-Git-Tag: NTP_4_0_99_F~8 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fe2d86b3e24199183b85fb182afc14b77f6770c7;p=thirdparty%2Fntp.git ChangeLog, ntp-wait.in: * scripts/ntp-wait.in: Intensify, including some suggestions from Ulrich. * scripts/ntp-wait.in: Lose cruft, sleep after each try. bk: 38a36677nwwv6xA1FxjSvNnPGhkZ3w --- diff --git a/ChangeLog b/ChangeLog index 929436f37..edb622234 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2000-02-10 Harlan Stenn + * scripts/ntp-wait.in: Intensify, including some suggestions from + Ulrich. + * configure.in: 4.0.99e * scripts/ntp-wait.in: Lose cruft, sleep after each try. diff --git a/scripts/ntp-wait.in b/scripts/ntp-wait.in index 4bff79cb1..bda0e4437 100644 --- a/scripts/ntp-wait.in +++ b/scripts/ntp-wait.in @@ -1,12 +1,42 @@ #! @PATH_PERL@ -w +die "perl5 needed\n" unless ($] > 5); + +use Getopt::Std; + +$opt_f = 0; # 'Hard' failure if 'state' is unknown +$opt_n = 1000; # How many tries before we give up? (10 min+) +$opt_s = 6; # Seconds to sleep between tries (6s = 10/min) +$opt_v = 0; # Be verbose? + +getopts('fn:s:v'); + $cmd = 'ntpq -c "rv 0 state"'; -for (;;) { - open(Q, $cmd."|") || die "Can't start ntpq: $!"; +$| = 1; # Autoflush output. + +print "Waiting for ntpd to synchronize..." if ($opt_v); +for ($i = 0; $i < $opt_n; ++$i) { + open(Q, $cmd." 2>&1 |") || die "Can't start ntpq: $!"; while() { - exit 0 if (/^state=4/); + if (/^state=4/) { + print " OK!\n" if ($opt_v); + exit 0; + } + + if (/request variable was unknown/) { + print " Can't tell!\nPerhaps you are running an old version of ntpd.\n" if ($opt_v); + exit $opt_f; + } + + if (/Connection refused/) { + print " ntpd is not running!\n" if ($opt_v); + exit 1; + } } close(Q); - sleep(10); + print substr("*+:.", $i % 4, 1) if ($opt_v); + sleep($opt_s); } +print " No!\nntpd did not synchronize.\n" if ($opt_v); +exit 1;