svn commit: r325256 - in stable/11/etc: periodic/daily rc.d
Cy Schubert
cy at FreeBSD.org
Wed Nov 1 01:03:46 UTC 2017
Author: cy
Date: Wed Nov 1 01:03:44 2017
New Revision: 325256
URL: https://svnweb.freebsd.org/changeset/base/325256
Log:
MFC r324681, r324738
Anticongestion refinements for ntpd rc script. This checks if ntp
leapfile needs fetching before entering into the anticongestion sleep.
Unfortunately some ports still use their own sleeps so, this commit
doesn't address the complete problem which is compounded by every
port that uses its own anticongestion mechanism.
Discussed with: asomers, feld
Modified:
stable/11/etc/periodic/daily/480.leapfile-ntpd
stable/11/etc/rc.d/ntpd
Directory Properties:
stable/11/ (props changed)
Modified: stable/11/etc/periodic/daily/480.leapfile-ntpd
==============================================================================
--- stable/11/etc/periodic/daily/480.leapfile-ntpd Wed Nov 1 00:46:48 2017 (r325255)
+++ stable/11/etc/periodic/daily/480.leapfile-ntpd Wed Nov 1 01:03:44 2017 (r325256)
@@ -13,8 +13,10 @@ fi
case "$daily_ntpd_leapfile_enable" in
[Yy][Ee][Ss])
- anticongestion
- service ntpd onefetch
+ if service ntpd oneneedfetch; then
+ anticongestion
+ service ntpd onefetch
+ fi
;;
esac
Modified: stable/11/etc/rc.d/ntpd
==============================================================================
--- stable/11/etc/rc.d/ntpd Wed Nov 1 00:46:48 2017 (r325255)
+++ stable/11/etc/rc.d/ntpd Wed Nov 1 01:03:44 2017 (r325256)
@@ -15,8 +15,9 @@ desc="Network Time Protocol daemon"
rcvar="ntpd_enable"
command="/usr/sbin/${name}"
pidfile="/var/run/${name}.pid"
-extra_commands="fetch"
+extra_commands="fetch needfetch"
fetch_cmd="ntpd_fetch_leapfile"
+needfetch_cmd="ntpd_needfetch_leapfile"
start_precmd="ntpd_precmd"
load_rc_config $name
@@ -90,7 +91,7 @@ ntpd_init_leapfile() {
fi
}
-ntpd_fetch_leapfile() {
+ntpd_needfetch_leapfile() {
local ntp_tmp_leapfile rc verbose
if checkyesno ntp_leapfile_fetch_verbose; then
@@ -122,6 +123,21 @@ ntpd_fetch_leapfile() {
ntp_leap_fetch_date=$((ntp_leap_expiry-ntp_leapfile_expiry_seconds))
if [ $(current_ntp_ts) -ge $ntp_leap_fetch_date ]; then
$verbose Within ntp leapfile expiry limit, initiating fetch
+ # Return code 0: ntp leapfile fetch needed
+ return 0
+ fi
+ # Return code 1: ntp leapfile fetch not needed
+ return 1
+}
+
+ntpd_fetch_leapfile() {
+ if checkyesno ntp_leapfile_fetch_verbose; then
+ verbose=echo
+ else
+ verbose=:
+ fi
+
+ if ntpd_needfetch_leapfile ; then
for url in $ntp_leapfile_sources ; do
$verbose fetching $url
fetch $ntp_leapfile_fetch_opts -o $ntp_tmp_leapfile $url && break
More information about the svn-src-stable-11
mailing list