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/i386/ibcs2 | |
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/i386/ibcs2')
-rw-r--r-- | sys/i386/ibcs2/ibcs2_xenix.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/i386/ibcs2/ibcs2_xenix.c b/sys/i386/ibcs2/ibcs2_xenix.c index 9aea547..da4f085 100644 --- a/sys/i386/ibcs2/ibcs2_xenix.c +++ b/sys/i386/ibcs2/ibcs2_xenix.c @@ -120,8 +120,8 @@ xenix_ftime(td, uap) microtime(&tv); itb.time = tv.tv_sec; itb.millitm = (tv.tv_usec / 1000); - itb.timezone = tz.tz_minuteswest; - itb.dstflag = tz.tz_dsttime != DST_NONE; + itb.timezone = tz_minuteswest; + itb.dstflag = tz_dsttime != DST_NONE; return copyout((caddr_t)&itb, (caddr_t)uap->tp, sizeof(struct ibcs2_timeb)); |