summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/syscall
diff options
context:
space:
mode:
authorDan McDonald <danmcd@joyent.com>2021-12-20 10:30:54 -0500
committerDan McDonald <danmcd@joyent.com>2021-12-20 10:30:54 -0500
commitba207ec31585766b9f4c5d0954fcbbc23fb17443 (patch)
tree454b183fb5db4318659ef817857912196b730a1a /usr/src/uts/common/syscall
parenteb9ef5d332a9360d61d14bc65f06b393da776cc8 (diff)
parent92c32ccad68fb065a366d11e8f3dfcd5c6ebae94 (diff)
downloadillumos-joyent-ba207ec31585766b9f4c5d0954fcbbc23fb17443.tar.gz
[illumos-gate merge]
commit 92c32ccad68fb065a366d11e8f3dfcd5c6ebae94 14271 libkstat leaks kstat fd across exec commit 617b28ccfac40348ebae033171d0643fcca18c22 14264 kstat_lookup and friends should take const strings commit 0be687ea0c09cd50b4ae51df829900fea257d535 14270 convert man3kstat to mdoc commit 73a801acfbef73aca0012eca23d6a1b842f5a104 14302 Makefile.lib: -h soname should be passed to linker commit c538cdc56b01e46a42335d3f8d315c44ecf91ac9 14305 Sync the tod chip following ntp_adjtime(MOD_FREQUENCY) Conflicts: usr/src/lib/Makefile.lib
Diffstat (limited to 'usr/src/uts/common/syscall')
-rw-r--r--usr/src/uts/common/syscall/ntptime.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/usr/src/uts/common/syscall/ntptime.c b/usr/src/uts/common/syscall/ntptime.c
index 963e7ddfbf..0bacfd80d1 100644
--- a/usr/src/uts/common/syscall/ntptime.c
+++ b/usr/src/uts/common/syscall/ntptime.c
@@ -184,8 +184,17 @@ ntp_adjtime(struct timex *tp)
* clock_update() updates time_freq so keep MOD_FREQUENCY after
* MOD_OFFSET.
*/
- if (modes & MOD_FREQUENCY)
+ if (modes & MOD_FREQUENCY) {
time_freq = ntv.freq - pps_freq;
+
+ /*
+ * If the frequency offset was adjusted, then set tod_needsync
+ * since it implies someone is watching over the system clock.
+ */
+ int s = hr_clock_lock();
+ tod_needsync = 1;
+ hr_clock_unlock(s);
+ }
/*
* Retrieve all clock variables
*/