MCPcopy Create free account
hub / github.com/F-Stack/f-stack / in6m_release_task

Function in6m_release_task

freebsd/netinet6/in6_mcast.c:605–621  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

603}
604
605static void
606in6m_release_task(void *arg __unused, int pending __unused)
607{
608 struct in6_multi_head in6m_free_tmp;
609 struct in6_multi *inm, *tinm;
610
611 SLIST_INIT(&in6m_free_tmp);
612 mtx_lock(&in6_multi_free_mtx);
613 SLIST_CONCAT(&in6m_free_tmp, &in6m_free_list, in6_multi, in6m_nrele);
614 mtx_unlock(&in6_multi_free_mtx);
615 IN6_MULTI_LOCK();
616 SLIST_FOREACH_SAFE(inm, &in6m_free_tmp, in6m_nrele, tinm) {
617 SLIST_REMOVE_HEAD(&in6m_free_tmp, in6m_nrele);
618 in6m_release(inm);
619 }
620 IN6_MULTI_UNLOCK();
621}
622
623/*
624 * Clear recorded source entries for a group.

Callers

nothing calls this directly

Calls 3

in6m_releaseFunction · 0.85
mtx_lockFunction · 0.50
mtx_unlockFunction · 0.50

Tested by

no test coverage detected