From 3692879cc82e12c56c011d2bf97d1c02bd3d66c5 Mon Sep 17 00:00:00 2001 From: phk Date: Mon, 3 Feb 2003 19:49:35 +0000 Subject: 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 --- sys/fs/msdosfs/msdosfs_conv.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'sys/fs/msdosfs') 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; -- cgit v1.1