diff options
author | hsu <hsu@FreeBSD.org> | 2002-12-24 03:03:39 +0000 |
---|---|---|
committer | hsu <hsu@FreeBSD.org> | 2002-12-24 03:03:39 +0000 |
commit | 32436a25c0510e4371c6f02353b447c09ba9db0d (patch) | |
tree | 5e53dfd4f16f3a5c2080f2ce73aed007b1be63a1 /sys/net/if.c | |
parent | 018c02046059a2588bdd154c9136e4467aafa156 (diff) | |
download | FreeBSD-src-32436a25c0510e4371c6f02353b447c09ba9db0d.zip FreeBSD-src-32436a25c0510e4371c6f02353b447c09ba9db0d.tar.gz |
SMP locking for radix nodes.
Diffstat (limited to 'sys/net/if.c')
-rw-r--r-- | sys/net/if.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/net/if.c b/sys/net/if.c index 42f2590..1f58605 100644 --- a/sys/net/if.c +++ b/sys/net/if.c @@ -533,7 +533,9 @@ if_detach(ifp) for (i = 1; i <= AF_MAX; i++) { if ((rnh = rt_tables[i]) == NULL) continue; + RADIX_NODE_HEAD_LOCK(rnh); (void) rnh->rnh_walktree(rnh, if_rtdel, ifp); + RADIX_NODE_HEAD_UNLOCK(rnh); } /* Announce that the interface is gone. */ |