summaryrefslogtreecommitdiffstats
path: root/sys/fs/msdosfs
diff options
context:
space:
mode:
authorphk <phk@FreeBSD.org>2003-02-03 19:49:35 +0000
committerphk <phk@FreeBSD.org>2003-02-03 19:49:35 +0000
commit3692879cc82e12c56c011d2bf97d1c02bd3d66c5 (patch)
tree7251be2a86087b08495da120d84f24f25ed673c8 /sys/fs/msdosfs
parentdb8a973d3ddfc686520b7766d7464f5140726cd9 (diff)
downloadFreeBSD-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/fs/msdosfs')
-rw-r--r--sys/fs/msdosfs/msdosfs_conv.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/fs/msdosfs/msdosfs_conv.c b/sys/fs/msdosfs/msdosfs_conv.c
index 7b3591e..d135bfa 100644
--- a/sys/fs/msdosfs/msdosfs_conv.c
+++ b/sys/fs/msdosfs/msdosfs_conv.c
@@ -112,7 +112,7 @@ unix2dostime(tsp, ddp, dtp, dhp)
* If the time from the last conversion is the same as now, then
* skip the computations and use the saved result.
*/
- t = tsp->tv_sec - (tz.tz_minuteswest * 60)
+ t = tsp->tv_sec - (tz_minuteswest * 60)
- (wall_cmos_clock ? adjkerntz : 0);
/* - daylight savings time correction */
t &= ~1;
@@ -224,7 +224,7 @@ dos2unixtime(dd, dt, dh, tsp)
days += ((dd & DD_DAY_MASK) >> DD_DAY_SHIFT) - 1;
lastseconds = (days * 24 * 60 * 60) + SECONDSTO1980;
}
- tsp->tv_sec = seconds + lastseconds + (tz.tz_minuteswest * 60)
+ tsp->tv_sec = seconds + lastseconds + (tz_minuteswest * 60)
+ adjkerntz;
/* + daylight savings time correction */
tsp->tv_nsec = (dh % 100) * 10000000;
OpenPOWER on IntegriCloud