FreeBSD/sys/netinet6/in6_mcast.c
/*
 * Join a multicast group; unlocked entry point.
 *
 * SMPng: XXX: in6_mc_join() is called from in6_control() when upper
 * locks are not held. Fortunately, ifp is unlikely to have been detached
 * at this point, so we assume it's OK to recurse.
 */
Join a multicast group; unlocked entry point.
SMPng: XXX: in6_mc_join() is called from in6_control() when upper
locks are not held. Fortunately, ifp is unlikely to have been detached
at this point, so we assume it's OK to recurse.
Join a multicast group ; unlocked entry point . SMPng : XXX : in6_mc_join () is called from in6_control () when upper locks are not held . Fortunately ifp is unlikely to have been detached at this point so we assume it ' s OK to recurse .
int
in6_mc_join(struct ifnet *ifp, const struct in6_addr *mcaddr,
     struct in6_mfilter *imf, struct in6_multi **pinm,
    const int delay)
{
	int error;
	IN6_MULTI_LOCK();
	error = in6_mc_join_locked(ifp, mcaddr, imf, pinm, delay);
	IN6_MULTI_UNLOCK();
	return (error);
}
int in6_mc_join ( struct ifnet * ifp , const struct in6_addr * mcaddr , struct in6_mfilter * imf , struct in6_multi * * pinm , const int delay ) { int error ; IN6_MULTI_LOCK ( ) ; error = in6_mc_join_locked ( ifp , mcaddr , imf , pinm , delay ) ; IN6_MULTI_UNLOCK ( ) ; return ( error ) ; }
Join a multicast group; unlocked entry point.
Join a multicast group ; unlocked entry point .
/*const*/