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

Function inm_release_task

freebsd/netinet/in_mcast.c:312–329  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

310}
311
312static void
313inm_release_task(void *arg __unused, int pending __unused)
314{
315 struct in_multi_head inm_free_tmp;
316 struct in_multi *inm, *tinm;
317
318 SLIST_INIT(&inm_free_tmp);
319 mtx_lock(&in_multi_free_mtx);
320 SLIST_CONCAT(&inm_free_tmp, &inm_free_list, in_multi, inm_nrele);
321 mtx_unlock(&in_multi_free_mtx);
322 IN_MULTI_LOCK();
323 SLIST_FOREACH_SAFE(inm, &inm_free_tmp, inm_nrele, tinm) {
324 SLIST_REMOVE_HEAD(&inm_free_tmp, inm_nrele);
325 MPASS(inm);
326 inm_release(inm);
327 }
328 IN_MULTI_UNLOCK();
329}
330
331/*
332 * Initialize an in_mfilter structure to a known state at t0, t1

Callers

nothing calls this directly

Calls 3

inm_releaseFunction · 0.85
mtx_lockFunction · 0.50
mtx_unlockFunction · 0.50

Tested by

no test coverage detected