我正在尝试使用基数树为驱动程序维护一个内部数据。那么摧毁整棵树的正确方法是什么?
一种想法是使用以下提到的方法遍历树:1
对于每个节点,释放项目并从树中删除它的键。
另一个问题是,radix_tree_for_each_slot()
在循环内删除项目是否安全? delete会不会触发内部shrink导致迭代失败?
最佳答案
它似乎做了很多你需要的事情——它用 radix_tree_for_each_slot()
遍历基数树,同时它也 radix_tree_delete
(从 cgwb_kill 开始) .
所以我想如果您保持适当的同步,就不会发生任何事情。
关于linux - 如何销毁linux内核中的一棵基数树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34302801/