summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/nfs/nfs_syscalls.c11
-rw-r--r--sys/nfsclient/nfs_nfsiod.c11
-rw-r--r--sys/nfsserver/nfs_syscalls.c11
3 files changed, 21 insertions, 12 deletions
diff --git a/sys/nfs/nfs_syscalls.c b/sys/nfs/nfs_syscalls.c
index 074a008..1624b63 100644
--- a/sys/nfs/nfs_syscalls.c
+++ b/sys/nfs/nfs_syscalls.c
@@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* @(#)nfs_syscalls.c 8.5 (Berkeley) 3/30/95
- * $Id: nfs_syscalls.c,v 1.31 1997/11/06 19:29:42 phk Exp $
+ * $Id: nfs_syscalls.c,v 1.32 1997/11/07 08:53:25 phk Exp $
*/
#include <sys/param.h>
@@ -464,15 +464,18 @@ nfssvc_nfsd(nsd, argp, p)
cacherep = RC_DOIT;
writes_todo = 0;
#endif
- s = splnet();
if (nfsd == (struct nfsd *)0) {
- nsd->nsd_nfsd = nfsd = (struct nfsd *)
+ nfsd = (struct nfsd *)
malloc(sizeof (struct nfsd), M_NFSD, M_WAITOK);
bzero((caddr_t)nfsd, sizeof (struct nfsd));
+ s = splnet();
+ nsd->nsd_nfsd = nfsd;
nfsd->nfsd_procp = p;
TAILQ_INSERT_TAIL(&nfsd_head, nfsd, nfsd_chain);
nfs_numnfsd++;
- }
+ } else
+ s = splnet();
+
/*
* Loop getting rpc requests until SIGKILL.
*/
diff --git a/sys/nfsclient/nfs_nfsiod.c b/sys/nfsclient/nfs_nfsiod.c
index 074a008..1624b63 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: nfs_syscalls.c,v 1.31 1997/11/06 19:29:42 phk Exp $
+ * $Id: nfs_syscalls.c,v 1.32 1997/11/07 08:53:25 phk Exp $
*/
#include <sys/param.h>
@@ -464,15 +464,18 @@ nfssvc_nfsd(nsd, argp, p)
cacherep = RC_DOIT;
writes_todo = 0;
#endif
- s = splnet();
if (nfsd == (struct nfsd *)0) {
- nsd->nsd_nfsd = nfsd = (struct nfsd *)
+ nfsd = (struct nfsd *)
malloc(sizeof (struct nfsd), M_NFSD, M_WAITOK);
bzero((caddr_t)nfsd, sizeof (struct nfsd));
+ s = splnet();
+ nsd->nsd_nfsd = nfsd;
nfsd->nfsd_procp = p;
TAILQ_INSERT_TAIL(&nfsd_head, nfsd, nfsd_chain);
nfs_numnfsd++;
- }
+ } else
+ s = splnet();
+
/*
* Loop getting rpc requests until SIGKILL.
*/
diff --git a/sys/nfsserver/nfs_syscalls.c b/sys/nfsserver/nfs_syscalls.c
index 074a008..1624b63 100644
--- a/sys/nfsserver/nfs_syscalls.c
+++ b/sys/nfsserver/nfs_syscalls.c
@@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* @(#)nfs_syscalls.c 8.5 (Berkeley) 3/30/95
- * $Id: nfs_syscalls.c,v 1.31 1997/11/06 19:29:42 phk Exp $
+ * $Id: nfs_syscalls.c,v 1.32 1997/11/07 08:53:25 phk Exp $
*/
#include <sys/param.h>
@@ -464,15 +464,18 @@ nfssvc_nfsd(nsd, argp, p)
cacherep = RC_DOIT;
writes_todo = 0;
#endif
- s = splnet();
if (nfsd == (struct nfsd *)0) {
- nsd->nsd_nfsd = nfsd = (struct nfsd *)
+ nfsd = (struct nfsd *)
malloc(sizeof (struct nfsd), M_NFSD, M_WAITOK);
bzero((caddr_t)nfsd, sizeof (struct nfsd));
+ s = splnet();
+ nsd->nsd_nfsd = nfsd;
nfsd->nfsd_procp = p;
TAILQ_INSERT_TAIL(&nfsd_head, nfsd, nfsd_chain);
nfs_numnfsd++;
- }
+ } else
+ s = splnet();
+
/*
* Loop getting rpc requests until SIGKILL.
*/
OpenPOWER on IntegriCloud