static void in6_rtqtimo_funneled(void *rock) { #ifdef __APPLE__ boolean_t funnel_state; funnel_state = thread_funnel_set(network_flock, TRUE); in6_rtqtimo(rock); #endif #ifdef __APPLE__ (void) thread_funnel_set(network_flock, FALSE); #endif }
/* * Initialize our routing tree. */ int in6_inithead(void **head, int off) { struct radix_node_head *rnh; if (!rn_inithead(head, off)) return 0; if (head != (void **)&rt_tables[AF_INET6]) /* BOGUS! */ return 1; /* only do this for the real routing table */ rnh = *head; rnh->rnh_addaddr = in6_addroute; rnh->rnh_matchaddr = in6_matroute; rnh->rnh_close = in6_clsroute; in6_rtqtimo(rnh); /* kick off timeout first time */ in6_mtutimo(rnh); /* kick off timeout first time */ return 1; }