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

Function pctrie_node_put

freebsd/kern/subr_pctrie.c:127–146  ·  view source on GitHub ↗

* Free radix node. */

Source from the content-addressed store, hash-verified

125 * Free radix node.
126 */
127static __inline void
128pctrie_node_put(struct pctrie *ptree, struct pctrie_node *node,
129 pctrie_free_t freefn, int8_t last)
130{
131#ifdef INVARIANTS
132 int slot;
133
134 KASSERT(node->pn_count == 0,
135 ("pctrie_node_put: node %p has %d children", node,
136 node->pn_count));
137 for (slot = 0; slot < PCTRIE_COUNT; slot++) {
138 if (slot == last)
139 continue;
140 KASSERT(smr_unserialized_load(&node->pn_child[slot], true) ==
141 NULL, ("pctrie_node_put: node %p has a child", node));
142 }
143#endif
144 node->pn_last = last + 1;
145 freefn(ptree, node);
146}
147
148/*
149 * Return the position in the array for a given level.

Callers 2

pctrie_removeFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected