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; }
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; }
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; }
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; }