summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTed Unangst <tedu@cvs.openbsd.org>2003-07-10 22:53:20 +0000
committerTed Unangst <tedu@cvs.openbsd.org>2003-07-10 22:53:20 +0000
commita0c6cddbc35b7ab6cd05ecf057633353d1b457ed (patch)
tree763c93e3dec5ceb88ef0e5ab43cef8aa54691787
parent1dcb4f9d7da757c44fcf8e13fa8cc815cfaeb98a (diff)
unlock on error condition. from Tim Wiess. ok csapuntz@ millert@
-rw-r--r--sys/nfs/nfs_socket.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/sys/nfs/nfs_socket.c b/sys/nfs/nfs_socket.c
index 688e1249a63..a7dbeb2e10b 100644
--- a/sys/nfs/nfs_socket.c
+++ b/sys/nfs/nfs_socket.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: nfs_socket.c,v 1.33 2003/06/02 23:28:19 millert Exp $ */
+/* $OpenBSD: nfs_socket.c,v 1.34 2003/07/10 22:53:19 tedu Exp $ */
/* $NetBSD: nfs_socket.c,v 1.27 1996/04/15 20:20:00 thorpej Exp $ */
/*
@@ -597,10 +597,12 @@ errout:
error,
rep->r_nmp->nm_mountp->mnt_stat.f_mntfromname);
error = nfs_sndlock(&rep->r_nmp->nm_flag, rep);
- if (!error)
+ if (!error) {
error = nfs_reconnect(rep);
- if (!error)
- goto tryagain;
+ if (!error)
+ goto tryagain;
+ nfs_sndunlock(&rep->r_nmp->nm_flag);
+ }
}
} else {
if ((so = rep->r_nmp->nm_so) == NULL)