Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 17 Dec 2008 04:33:52 +0000 (UTC)
From:      Kip Macy <kmacy@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r186209 - head/sys/net
Message-ID:  <200812170433.mBH4XqkH057618@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: kmacy
Date: Wed Dec 17 04:33:52 2008
New Revision: 186209
URL: http://svn.freebsd.org/changeset/base/186209

Log:
  avoid trying to acquire a shared lock while holding an exclusive lock
  by making the ifnet lock acquisition exclusive

Modified:
  head/sys/net/if.c

Modified: head/sys/net/if.c
==============================================================================
--- head/sys/net/if.c	Wed Dec 17 04:15:38 2008	(r186208)
+++ head/sys/net/if.c	Wed Dec 17 04:33:52 2008	(r186209)
@@ -197,9 +197,9 @@ ifnet_byindex(u_short idx)
 	INIT_VNET_NET(curvnet);
 	struct ifnet *ifp;
 
-	IFNET_RLOCK();
+	IFNET_WLOCK();
 	ifp = V_ifindex_table[idx].ife_ifnet;
-	IFNET_RUNLOCK();
+	IFNET_WUNLOCK();
 	return (ifp);
 }
 
@@ -218,9 +218,9 @@ ifaddr_byindex(u_short idx)
 {
 	struct ifaddr *ifa;
 
-	IFNET_RLOCK();
+	IFNET_WLOCK();
 	ifa = ifnet_byindex(idx)->if_addr;
-	IFNET_RUNLOCK();
+	IFNET_WUNLOCK();
 	return (ifa);
 }
 



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