#ifdef RECURSIVE_FOR_DENTRY_IN_TREE
static int for_dentry_tree_in_rbtree(struct rb_node *node,
- int (*visitor)(struct dentry*, void*),
- void *arg)
+ int (*visitor)(struct dentry*, void*),
+ void *arg)
{
int ret;
if (node) {
- ret = for_dentry_tree_in_rbtree(node->rb_left,
- visitor, arg);
+ ret = for_dentry_tree_in_rbtree(node->rb_left, visitor, arg);
if (ret != 0)
return ret;
ret = for_dentry_in_tree(rbnode_dentry(node), visitor, arg);
if (ret != 0)
return ret;
- ret = for_dentry_tree_in_rbtree(node->rb_right,
- visitor, arg);
+ ret = for_dentry_tree_in_rbtree(node->rb_right, visitor, arg);
if (ret != 0)
return ret;
}
inode->link_count = 1;
#ifdef WITH_FUSE
inode->next_stream_id = 1;
+ if (pthread_mutex_init(&inode->i_mutex, NULL) != 0) {
+ ERROR_WITH_ERRNO("Error initializing mutex");
+ FREE(inode);
+ return NULL;
+ }
#endif
INIT_LIST_HEAD(&inode->dentry_list);
}
#ifdef WITH_FUSE
wimlib_assert(inode->num_opened_fds == 0);
FREE(inode->fds);
+ pthread_mutex_destroy(&inode->i_mutex);
#endif
FREE(inode->extracted_file);
FREE(inode);
struct dentry *dentry)
{
u64 cur_offset = dentry->subdir_offset;
- struct dentry *prev_child = NULL;
- struct dentry *first_child = NULL;
struct dentry *child;
struct dentry cur_child;
int ret;