FreeBSD/sys/netinet/in_mcast.c
/*
 * Join a multicast group; unlocked entry point.
 *
 * SMPng: XXX: in_joingroup() is called from in_control() when Giant
 * is 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: in_joingroup() is called from in_control() when Giant
is 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 : in_joingroup () is called from in_control () when Giant is not held . Fortunately ifp is unlikely to have been detached at this point so we assume it ' s OK to recurse .
int
in_joingroup(struct ifnet *ifp, const struct in_addr *gina,
     struct in_mfilter *imf, struct in_multi **pinm)
{
	int error;
	IN_MULTI_LOCK();
	error = in_joingroup_locked(ifp, gina, imf, pinm);
	IN_MULTI_UNLOCK();
	return (error);
}
int in_joingroup ( struct ifnet * ifp , const struct in_addr * gina , struct in_mfilter * imf , struct in_multi * * pinm ) { int error ; IN_MULTI_LOCK ( ) ; error = in_joingroup_locked ( ifp , gina , imf , pinm ) ; IN_MULTI_UNLOCK ( ) ; return ( error ) ; }
Join a multicast group; unlocked entry point.
Join a multicast group ; unlocked entry point .
/*const*/