summaryrefslogtreecommitdiffstats
path: root/sys/nfsclient/nfs_nfsiod.c
diff options
context:
space:
mode:
authorbde <bde@FreeBSD.org>1997-03-22 06:53:45 +0000
committerbde <bde@FreeBSD.org>1997-03-22 06:53:45 +0000
commit0bc178170104cff1e818e849d08a50c6a4ee0851 (patch)
tree1a4787be89dc6587f785bb211bf92dd0ce277648 /sys/nfsclient/nfs_nfsiod.c
parent5610d80b6231f85421e587a175ddd4d4b0c735c5 (diff)
downloadFreeBSD-src-0bc178170104cff1e818e849d08a50c6a4ee0851.zip
FreeBSD-src-0bc178170104cff1e818e849d08a50c6a4ee0851.tar.gz
Fixed some invalid (non-atomic) accesses to `time', mostly ones of the
form `tv = time'. Use a new function gettime(). The current version just forces atomicicity without fixing precision or efficiency bugs. Simplified some related valid accesses by using the central function.
Diffstat (limited to 'sys/nfsclient/nfs_nfsiod.c')
-rw-r--r--sys/nfsclient/nfs_nfsiod.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/sys/nfsclient/nfs_nfsiod.c b/sys/nfsclient/nfs_nfsiod.c
index cbcd695..83cd64d 100644
--- a/sys/nfsclient/nfs_nfsiod.c
+++ b/sys/nfsclient/nfs_nfsiod.c
@@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* @(#)nfs_syscalls.c 8.5 (Berkeley) 3/30/95
- * $Id$
+ * $Id: nfs_syscalls.c,v 1.18 1997/02/22 09:42:42 peter Exp $
*/
#include <sys/param.h>
@@ -542,7 +542,7 @@ nfssvc_nfsd(nsd, argp, p)
else
solockp = (int *)0;
if (nd) {
- nd->nd_starttime = time;
+ gettime(&nd->nd_starttime);
if (nd->nd_nam2)
nd->nd_nam = nd->nd_nam2;
else
@@ -956,7 +956,7 @@ nfs_getnickauth(nmp, cred, auth_str, auth_len, verf_str, verf_len)
if (time.tv_sec > nuidp->nu_timestamp.tv_sec ||
(time.tv_sec == nuidp->nu_timestamp.tv_sec &&
time.tv_usec > nuidp->nu_timestamp.tv_usec))
- nuidp->nu_timestamp = time;
+ gettime(&nuidp->nu_timestamp);
else
nuidp->nu_timestamp.tv_usec++;
ktvin.tv_sec = txdr_unsigned(nuidp->nu_timestamp.tv_sec);
@@ -1144,7 +1144,7 @@ nfsd_rt(sotype, nd, cacherep)
rt->ipadr = INADDR_ANY;
rt->resptime = ((time.tv_sec - nd->nd_starttime.tv_sec) * 1000000) +
(time.tv_usec - nd->nd_starttime.tv_usec);
- rt->tstamp = time;
+ gettime(&rt->tstamp);
nfsdrt.pos = (nfsdrt.pos + 1) % NFSRTTLOGSIZ;
}
#endif /* NFS_NOSERVER */
OpenPOWER on IntegriCloud