summaryrefslogtreecommitdiffstats
path: root/sys/netncp
diff options
context:
space:
mode:
authorpeter <peter@FreeBSD.org>2004-03-14 02:06:28 +0000
committerpeter <peter@FreeBSD.org>2004-03-14 02:06:28 +0000
commitbd5efd46002ab435a3543c06a8463f93bf87b51e (patch)
tree571f9f9ac088cad74d9e9b00d76e0dc2eab6f9f4 /sys/netncp
parent963c36c1956c741c098e14e7f7708ac1d78e187e (diff)
downloadFreeBSD-src-bd5efd46002ab435a3543c06a8463f93bf87b51e.zip
FreeBSD-src-bd5efd46002ab435a3543c06a8463f93bf87b51e.tar.gz
Make the process_exit eventhandler run without Giant. Add Giant hooks
in the two consumers that need it.. processes using AIO and netncp. Update docs. Say that process_exec is called with Giant, but not to depend on it. All our consumers can handle it without Giant.
Diffstat (limited to 'sys/netncp')
-rw-r--r--sys/netncp/ncp_subr.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/netncp/ncp_subr.c b/sys/netncp/ncp_subr.c
index c15b985..b213733 100644
--- a/sys/netncp/ncp_subr.c
+++ b/sys/netncp/ncp_subr.c
@@ -85,6 +85,7 @@ ncp_at_exit(void *arg, struct proc *p)
struct ncp_conn *ncp, *nncp;
struct thread *td;
+ mtx_lock(&Giant);
FOREACH_THREAD_IN_PROC(p, td) {
if (ncp_conn_putprochandles(td) == 0)
continue;
@@ -100,6 +101,7 @@ ncp_at_exit(void *arg, struct proc *p)
}
ncp_conn_unlocklist(td);
}
+ mtx_unlock(&Giant);
}
int
OpenPOWER on IntegriCloud