]> git.ipfire.org Git - thirdparty/ntp.git/commitdiff
ChangeLog, ntp-wait.in:
authorHarlan Stenn <stenn@ntp.org>
Fri, 11 Feb 2000 01:31:35 +0000 (01:31 -0000)
committerHarlan Stenn <stenn@ntp.org>
Fri, 11 Feb 2000 01:31:35 +0000 (01:31 -0000)
  * scripts/ntp-wait.in: Intensify, including some suggestions from
  Ulrich.
  * scripts/ntp-wait.in: Lose cruft, sleep after each try.

bk: 38a36677nwwv6xA1FxjSvNnPGhkZ3w

ChangeLog
scripts/ntp-wait.in

index 929436f37e6a1111a8ac33ef8e91ccb148133e76..edb622234671c8eeccd1d0688e87c82d030a18c9 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2000-02-10  Harlan Stenn  <stenn@whimsy.udel.edu>
 
+       * 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.
index 4bff79cb15429a65a15be27710f34ef88f208fe0..bda0e4437cb41d4ace2bab830cea6c37dde228d3 100644 (file)
@@ -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(<Q>) {
-      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;