summaryrefslogtreecommitdiffstats
path: root/sys/rpc
diff options
context:
space:
mode:
authorrmacklem <rmacklem@FreeBSD.org>2009-06-07 01:06:56 +0000
committerrmacklem <rmacklem@FreeBSD.org>2009-06-07 01:06:56 +0000
commitb7262a05e53b63e74f8fea750dc5d3def52bfdad (patch)
tree78a6da72df5c9098a57c90055480845100bbab18 /sys/rpc
parentd18a094f472198f3152ac4384dbb9a9cd620f120 (diff)
downloadFreeBSD-src-b7262a05e53b63e74f8fea750dc5d3def52bfdad.zip
FreeBSD-src-b7262a05e53b63e74f8fea750dc5d3def52bfdad.tar.gz
Fix a lockorder reversal I introduced in r193436 when I moved the
mtx_destroy() of the pool mutex to after SVC_RELEASE(), because the pool mutex was still locked when soclose() was called by svc_dg_destroy(). To fix this, an mtx_unlock() was added where mtx_destroy() was before r193436. Reviewed by: jhb Tested by: pho Approved by: rwatson (mentor)
Diffstat (limited to 'sys/rpc')
-rw-r--r--sys/rpc/svc.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/rpc/svc.c b/sys/rpc/svc.c
index fbddafb..5db4c56 100644
--- a/sys/rpc/svc.c
+++ b/sys/rpc/svc.c
@@ -174,6 +174,7 @@ svcpool_destroy(SVCPOOL *pool)
svc_unreg(pool, s->sc_prog, s->sc_vers);
mtx_lock(&pool->sp_lock);
}
+ mtx_unlock(&pool->sp_lock);
TAILQ_FOREACH_SAFE(xprt, &cleanup, xp_link, nxprt) {
SVC_RELEASE(xprt);
OpenPOWER on IntegriCloud