Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在尝试使用基数树来维护驱动程序的一个内部数据。那么摧毁整棵树的正确方法是什么?
一种想法是使用以下提到的方法遍历树:1
对于每个节点,释放项目并从树中删除其键。
另一个问题是,radix_tree_for_each_slot()在循环中删除项目是否安全?删除会触发内部收缩并导致迭代失败吗?
radix_tree_for_each_slot()
查看cgwb_bdi_unregister。
它似乎在做你需要的事情——它迭代基数树,radix_tree_for_each_slot()同时它也这样做radix_tree_delete(来自cgwb_kill)。
radix_tree_delete
所以我想如果你保持正确同步,什么都不会发生。