diff options
author | rmacklem <rmacklem@FreeBSD.org> | 2009-06-07 01:06:56 +0000 |
---|---|---|
committer | rmacklem <rmacklem@FreeBSD.org> | 2009-06-07 01:06:56 +0000 |
commit | b7262a05e53b63e74f8fea750dc5d3def52bfdad (patch) | |
tree | 78a6da72df5c9098a57c90055480845100bbab18 /sys/rpc | |
parent | d18a094f472198f3152ac4384dbb9a9cd620f120 (diff) | |
download | FreeBSD-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.c | 1 |
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); |