Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 1 Nov 2017 01:03:44 +0000 (UTC)
From:      Cy Schubert <cy@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org
Subject:   svn commit: r325256 - in stable/11/etc: periodic/daily rc.d
Message-ID:  <201711010103.vA113iPh014257@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201711010103.vA113iPh014257>