diff options
author | phk <phk@FreeBSD.org> | 2003-02-03 19:49:35 +0000 |
---|---|---|
committer | phk <phk@FreeBSD.org> | 2003-02-03 19:49:35 +0000 |
commit | 3692879cc82e12c56c011d2bf97d1c02bd3d66c5 (patch) | |
tree | 7251be2a86087b08495da120d84f24f25ed673c8 /sys/isa | |
parent | db8a973d3ddfc686520b7766d7464f5140726cd9 (diff) | |
download | FreeBSD-src-3692879cc82e12c56c011d2bf97d1c02bd3d66c5.zip FreeBSD-src-3692879cc82e12c56c011d2bf97d1c02bd3d66c5.tar.gz |
Split the global timezone structure into two integer fields to
prevent the compiler from optimizing assignments into byte-copy
operations which might make access to the individual fields non-atomic.
Use the individual fields throughout, and don't bother locking them with
Giant: it is no longer needed.
Inspired by: tjr
Diffstat (limited to 'sys/isa')
-rw-r--r-- | sys/isa/atrtc.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/isa/atrtc.c b/sys/isa/atrtc.c index 8e812a1..ec9b23a 100644 --- a/sys/isa/atrtc.c +++ b/sys/isa/atrtc.c @@ -908,7 +908,7 @@ inittodr(time_t base) /* sec now contains the number of seconds, since Jan 1 1970, in the local time zone */ - sec += tz.tz_minuteswest * 60 + (wall_cmos_clock ? adjkerntz : 0); + sec += tz_minuteswest * 60 + (wall_cmos_clock ? adjkerntz : 0); y = time_second - sec; if (y <= -2 || y >= 2) { @@ -946,7 +946,7 @@ resettodr() /* Calculate local time to put in RTC */ - tm -= tz.tz_minuteswest * 60 + (wall_cmos_clock ? adjkerntz : 0); + tm -= tz_minuteswest * 60 + (wall_cmos_clock ? adjkerntz : 0); writertc(RTC_SEC, bin2bcd(tm%60)); tm /= 60; /* Write back Seconds */ writertc(RTC_MIN, bin2bcd(tm%60)); tm /= 60; /* Write back Minutes */ |