Page MenuHomeFreeBSD

D42927.id131071.diff
No OneTemporary

D42927.id131071.diff

diff --git a/sys/net/vnet.c b/sys/net/vnet.c
--- a/sys/net/vnet.c
+++ b/sys/net/vnet.c
@@ -536,11 +536,13 @@
* Invoke the constructor on all the existing vnets when it is
* registered.
*/
+ VNET_LIST_RLOCK();
VNET_FOREACH(vnet) {
CURVNET_SET_QUIET(vnet);
vs->func(vs->arg);
CURVNET_RESTORE();
}
+ VNET_LIST_RUNLOCK();
VNET_SYSINIT_WUNLOCK();
}
@@ -591,6 +593,7 @@
* Invoke the destructor on all the existing vnets when it is
* deregistered.
*/
+ VNET_LIST_RLOCK();
VNET_SYSINIT_WLOCK();
VNET_FOREACH(vnet) {
CURVNET_SET_QUIET(vnet);
@@ -601,6 +604,7 @@
/* Remove the destructor from the global list of vnet destructors. */
TAILQ_REMOVE(&vnet_destructors, vs, link);
VNET_SYSINIT_WUNLOCK();
+ VNET_LIST_RUNLOCK();
}
/*

File Metadata

Mime Type
text/plain
Expires
Sat, Jul 11, 7:33 PM (4 h, 24 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
34971088
Default Alt Text
D42927.id131071.diff (772 B)

Event Timeline