Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 7 Jun 2009 01:06:57 +0000 (UTC)
From:      Rick Macklem <rmacklem@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r193603 - head/sys/rpc
Message-ID:  <200906070106.n5716v1N077202@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: rmacklem
Date: Sun Jun  7 01:06:56 2009
New Revision: 193603
URL: http://svn.freebsd.org/changeset/base/193603

Log:
  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)

Modified:
  head/sys/rpc/svc.c

Modified: head/sys/rpc/svc.c
==============================================================================
--- head/sys/rpc/svc.c	Sun Jun  7 01:02:33 2009	(r193602)
+++ head/sys/rpc/svc.c	Sun Jun  7 01:06:56 2009	(r193603)
@@ -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);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200906070106.n5716v1N077202>