diff options
author | peter <peter@FreeBSD.org> | 2004-03-14 02:06:28 +0000 |
---|---|---|
committer | peter <peter@FreeBSD.org> | 2004-03-14 02:06:28 +0000 |
commit | bd5efd46002ab435a3543c06a8463f93bf87b51e (patch) | |
tree | 571f9f9ac088cad74d9e9b00d76e0dc2eab6f9f4 /sys/netncp | |
parent | 963c36c1956c741c098e14e7f7708ac1d78e187e (diff) | |
download | FreeBSD-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.c | 2 |
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 |