Source-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: CVS commit: src/sys/arch/i386/i386
> Hum ... what if ntp correct the clock with ntp_adjtime() ?
> I suspect that after a long uptime, the RTC may have drifted significantly
> from the kernel time.
I'm sure I'd looked through that code when I first fixed my kernel.
I was completely fed up with the system clock being out by best
part of an hour after a kernel debugging session.
Anyway I'll add the code below to kern_ntptime and let the reboot
code set the time if ntp_active is non zero.
David
Index: kern_ntptime.c
===================================================================
RCS file: /cvsroot/src/sys/kern/kern_ntptime.c,v
retrieving revision 1.22
diff -u -p -r1.22 kern_ntptime.c
--- kern_ntptime.c 2003/01/18 10:06:28 1.22
+++ kern_ntptime.c 2003/04/16 20:46:09
@@ -69,6 +69,9 @@ __KERNEL_RCSID(0, "$NetBSD: kern_ntptime
#include <machine/cpu.h>
+/* Record if it is possible that NTP is playing with the system clock */
+int ntp_active = 0;
+
#ifdef NTP
/*
* The following variables are used by the hardclock() routine in the
@@ -99,6 +102,7 @@ extern long pps_errcnt; /* calibration
extern long pps_stbcnt; /* stability limit exceeded */
#endif /* PPS_SYNC */
+
/*ARGSUSED*/
/*
* ntp_gettime() - NTP user application interface
@@ -231,6 +235,8 @@ ntp_adjtime1(ntv, v, retval)
* what it is doing.
*/
modes = ntv->modes;
+ if (modes != 0)
+ ntp_active = 1;
s = splclock();
if (modes & MOD_FREQUENCY)
#ifdef PPS_SYNC
David
--
David Laight: david%l8s.co.uk@localhost
Home |
Main Index |
Thread Index |
Old Index