On Wednesday 25 August 2010 23:05, Rob Landley wrote: > A note on the advisability of using ntpd's -q option from /dev/console, a > context in which ctrl-c doesn't work: > > # ntpd -nq -p north-america.pool.ntp.org > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > ntpd: send failed: Network is unreachable > > This was the point at which I came back and rebooted the machine.
This is how upstream ntpd works too. But OTOH, upstream is not fully sane... Please try attached patch. +16 bytes. -- vda
diff -ad -urpN busybox.3/networking/ntpd.c busybox.4/networking/ntpd.c --- busybox.3/networking/ntpd.c 2010-08-23 03:05:35.000000000 +0200 +++ busybox.4/networking/ntpd.c 2010-08-27 02:02:38.000000000 +0200 @@ -1920,9 +1920,28 @@ static NOINLINE void ntp_init(char **arg if (opts & OPT_N) setpriority(PRIO_PROCESS, 0, -15); - bb_signals((1 << SIGTERM) | (1 << SIGINT), record_signo); - /* Removed SIGHUP here: */ - bb_signals((1 << SIGPIPE) | (1 << SIGCHLD), SIG_IGN); + /* If network is up, syncronization occurs in ~10 seconds. + * We give "ntpd -q" a full minute to finish, then we exit. + * + * I tested ntpd 4.2.6p1 and apparently it never exits + * (will try forever), but it does not feel right. + * The goal of -q is to act like ntpdate: set time + * after a reasonably small period of polling, or fail. + */ + if (opts & OPT_q) + alarm(60); + + bb_signals(0 + | (1 << SIGTERM) + | (1 << SIGINT) + | (1 << SIGALRM) + , record_signo + ); + bb_signals(0 + | (1 << SIGPIPE) + | (1 << SIGCHLD) + , SIG_IGN + ); } int ntpd_main(int argc UNUSED_PARAM, char **argv) MAIN_EXTERNALLY_VISIBLE;
_______________________________________________ busybox mailing list [email protected] http://lists.busybox.net/mailman/listinfo/busybox
