2

我正在尝试使用基数树来维护驱动程序的一个内部数据。那么摧毁整棵树的正确方法是什么?

一种想法是使用以下提到的方法遍历树:1

对于每个节点,释放项目并从树中删除其键。

另一个问题是,radix_tree_for_each_slot()在循环中删除项目是否安全?删除会触发内部收缩并导致迭代失败吗?

4

1 回答 1

2

查看cgwb_bdi_unregister

它似乎在做你需要的事情——它迭代基数树,radix_tree_for_each_slot()同时它也这样做radix_tree_delete(来自cgwb_kill)。

所以我想如果你保持正确同步,什么都不会发生。

于 2015-12-16T14:02:46.007 回答