Ejemplo n.º 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;
}
Ejemplo n.º 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;
}
Ejemplo n.º 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;
}
Ejemplo n.º 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;
}
Ejemplo n.º 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;
}
Ejemplo n.º 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;
}
Ejemplo n.º 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;
}
Ejemplo n.º 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;
}