svn commit: r324738 - in head/etc: defaults periodic/daily rc.d
Cy Schubert
cy at FreeBSD.org
Thu Oct 19 03:17:52 UTC 2017
Author: cy
Date: Thu Oct 19 03:17:50 2017
New Revision: 324738
URL: https://svnweb.freebsd.org/changeset/base/324738
Log:
Anticongestion refinements for ntpd rc script. This reverts r324681
and 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
Modified:
head/etc/defaults/periodic.conf
head/etc/periodic/daily/480.leapfile-ntpd
head/etc/rc.d/ntpd
Modified: head/etc/defaults/periodic.conf
==============================================================================
--- head/etc/defaults/periodic.conf Thu Oct 19 02:14:39 2017 (r324737)
+++ head/etc/defaults/periodic.conf Thu Oct 19 03:17:50 2017 (r324738)
@@ -141,8 +141,6 @@ daily_status_mail_rejects_shorten="NO" # Shorten out
# 480.leapfile-ntpd
daily_ntpd_leapfile_enable="YES" # Fetch NTP leapfile
-daily_ntpd_leapfile_background="NO" # Fetch NTP leapfile
- # in the background
# 480.status-ntpd
daily_status_ntpd_enable="NO" # Check NTP status
Modified: head/etc/periodic/daily/480.leapfile-ntpd
==============================================================================
--- head/etc/periodic/daily/480.leapfile-ntpd Thu Oct 19 02:14:39 2017 (r324737)
+++ head/etc/periodic/daily/480.leapfile-ntpd Thu Oct 19 03:17:50 2017 (r324738)
@@ -13,15 +13,10 @@ fi
case "$daily_ntpd_leapfile_enable" in
[Yy][Ee][Ss])
- case "$daily_ntpd_leapfile_background" in
- [Yy][Ee][Ss])
- (anticongestion && service ntpd onefetch) &
- ;;
- *)
+ if service ntpd oneneedfetch; then
anticongestion
service ntpd onefetch
- ;;
- esac
+ fi
;;
esac
Modified: head/etc/rc.d/ntpd
==============================================================================
--- head/etc/rc.d/ntpd Thu Oct 19 02:14:39 2017 (r324737)
+++ head/etc/rc.d/ntpd Thu Oct 19 03:17:50 2017 (r324738)
@@ -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-all
mailing list