diff options
author | jim-p <jimp@pfsense.org> | 2012-05-16 10:49:39 -0400 |
---|---|---|
committer | jim-p <jimp@pfsense.org> | 2012-05-16 10:49:39 -0400 |
commit | 90df3bd8097c3d8f21175fd215a6e27ef50b2584 (patch) | |
tree | 6acd2f26cce1d237973531db237c745921bca6e1 /etc | |
parent | 317d1c0bb59d64690441b840f44e5dcad8ccdcca (diff) | |
download | pfsense-90df3bd8097c3d8f21175fd215a6e27ef50b2584.zip pfsense-90df3bd8097c3d8f21175fd215a6e27ef50b2584.tar.gz |
On its own, ntpd does not sync fast enough at bootup, so bring back the ntpdate sync but improve it so it can't get stuck forever.
Conflicts:
etc/rc.newwanipv6
Diffstat (limited to 'etc')
-rw-r--r-- | etc/inc/system.inc | 8 | ||||
-rwxr-xr-x | etc/rc.bootup | 11 | ||||
-rwxr-xr-x | etc/rc.newwanip | 3 |
3 files changed, 14 insertions, 8 deletions
diff --git a/etc/inc/system.inc b/etc/inc/system.inc index 2f04d3d..e343a17 100644 --- a/etc/inc/system.inc +++ b/etc/inc/system.inc @@ -1106,7 +1106,7 @@ function system_timezone_configure() { echo "done.\n"; } -function system_ntp_configure() { +function system_ntp_configure($start_ntpd=true) { global $config, $g; $driftfile = "/var/db/ntpd.drift"; @@ -1131,6 +1131,10 @@ function system_ntp_configure() { /* slurp! */ fclose($fd); + /* At bootup we just want to write out the config. */ + if (!$start_ntpd) + return; + /* if ntpd is running, kill it */ while(is_process_running("ntpd")) { killbyname("ntpd"); @@ -1145,7 +1149,7 @@ function system_ntp_configure() { // Note that we are starting up log_error("NTPD is starting up."); - + return; } function sync_system_time() { diff --git a/etc/rc.bootup b/etc/rc.bootup index c1749cf..7930da6 100755 --- a/etc/rc.bootup +++ b/etc/rc.bootup @@ -278,6 +278,12 @@ system_routing_configure(); /* enable routing */ system_routing_enable(); +/* Do an initial time sync */ +echo "Starting NTP time client..."; +/* At bootup this will just write the config, ntpd will launch from ntpdate_sync_once.sh */ +system_ntp_configure(false); +mwexec_bg("/usr/local/sbin/ntpdate_sync_once.sh"); + /* start load balancer daemon */ relayd_configure(); @@ -302,11 +308,6 @@ send_event("service reload dyndnsall"); /* Run a filter configure now that most all services have started */ filter_configure_sync(); -/* start the NTP client */ -echo "Starting OpenNTP time client..."; -system_ntp_configure(); -echo "done.\n"; - /* setup pppoe and pptp */ vpn_setup(); diff --git a/etc/rc.newwanip b/etc/rc.newwanip index 2c6a641..32af0a5 100755 --- a/etc/rc.newwanip +++ b/etc/rc.newwanip @@ -50,7 +50,8 @@ function restart_packages() { global $oldip, $curwanipi, $g; /* restart packages */ - system_ntp_configure(); + system_ntp_configure(false); + mwexec_bg("/usr/local/sbin/ntpdate_sync_once.sh"); log_error("{$g['product_name']} package system has detected an ip change $oldip -> $curwanip ... Restarting packages."); send_event("service reload packages"); } |