aboutsummaryrefslogtreecommitdiff
path: root/sys/netatalk
diff options
context:
space:
mode:
authorRobert Watson <rwatson@FreeBSD.org>2009-06-21 19:30:33 +0000
committerRobert Watson <rwatson@FreeBSD.org>2009-06-21 19:30:33 +0000
commit1099f828b3c0026cd8d03616473dda5a0cc7429f (patch)
tree2cfffa4418c1fa90f1e9d094aa882742d0ababb9 /sys/netatalk
parentc808c9632d567c38d12e8c9e59bf05abe60f5fe4 (diff)
downloadsrc-1099f828b3c0026cd8d03616473dda5a0cc7429f.tar.gz
src-1099f828b3c0026cd8d03616473dda5a0cc7429f.zip
Clean up common ifaddr management:
- Unify reference count and lock initialization in a single function, ifa_init(). - Move tear-down from a macro (IFAFREE) to a function ifa_free(). - Move reference count bump from a macro (IFAREF) to a function ifa_ref(). - Instead of using a u_int protected by a mutex to refcount(9) for reference count management. The ifa_mtx is now used for exactly one ioctl, and possibly should be removed. MFC after: 3 weeks
Notes
Notes: svn path=/head/; revision=194602
Diffstat (limited to 'sys/netatalk')
-rw-r--r--sys/netatalk/at_control.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/sys/netatalk/at_control.c b/sys/netatalk/at_control.c
index cfb1bd872ebe..56b750feca2b 100644
--- a/sys/netatalk/at_control.c
+++ b/sys/netatalk/at_control.c
@@ -189,8 +189,7 @@ at_control(struct socket *so, u_long cmd, caddr_t data, struct ifnet *ifp,
* and link our new one on the end
*/
ifa = (struct ifaddr *)aa;
- IFA_LOCK_INIT(ifa);
- ifa->ifa_refcnt = 1;
+ ifa_init(ifa);
/*
* As the at_ifaddr contains the actual sockaddrs,
@@ -325,7 +324,7 @@ at_control(struct socket *so, u_long cmd, caddr_t data, struct ifnet *ifp,
/*
* Now reclaim the reference.
*/
- IFAFREE(ifa0);
+ ifa_free(ifa0);
break;
default: