示例#1
0
int avl_traverse_lock(avl_tree_lock *tree, int (*callback)(void * /*entry*/, void * /*data*/), void *data) {
    int ret;
    avl_read_lock(tree);
    ret = avl_traverse(&tree->avl_tree, callback, data);
    avl_unlock(tree);
    return ret;
}
示例#2
0
int avl_traverse_lock(avl_tree_lock *t, int (*callback)(void *entry, void *data), void *data) {
    int ret;
    avl_read_lock(t);
    ret = avl_traverse(&t->avl_tree, callback, data);
    avl_unlock(t);
    return ret;
}
示例#3
0
avl *avl_insert_lock(avl_tree_lock *tree, avl *item) {
    avl_write_lock(tree);
    avl * ret = avl_insert(&tree->avl_tree, item);
    avl_unlock(tree);
    return ret;
}
示例#4
0
avl * avl_remove_lock(avl_tree_lock *tree, avl *item) {
    avl_write_lock(tree);
    avl *ret = avl_remove(&tree->avl_tree, item);
    avl_unlock(tree);
    return ret;
}
示例#5
0
avl *avl_search_lock(avl_tree_lock *tree, avl *item) {
    avl_read_lock(tree);
    avl *ret = avl_search(&tree->avl_tree, item);
    avl_unlock(tree);
    return ret;
}
示例#6
0
avl *avl_insert_lock(avl_tree_lock *t, avl *a) {
    avl_write_lock(t);
    avl * ret = avl_insert(&t->avl_tree, a);
    avl_unlock(t);
    return ret;
}
示例#7
0
avl * avl_remove_lock(avl_tree_lock *t, avl *a) {
    avl_write_lock(t);
    avl *ret = avl_remove(&t->avl_tree, a);
    avl_unlock(t);
    return ret;
}
示例#8
0
avl *avl_search_lock(avl_tree_lock *t, avl *a) {
    avl_read_lock(t);
    avl *ret = avl_search(&t->avl_tree, a);
    avl_unlock(t);
    return ret;
}