From 159bd7e2f44d836cca687c10d58c63943a26bbc3 Mon Sep 17 00:00:00 2001 From: Miklos Szeredi Date: Mon, 28 Feb 2005 17:32:16 +0000 Subject: fix --- lib/fuse.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'lib/fuse.c') diff --git a/lib/fuse.c b/lib/fuse.c index 64696b8..b1aab25 100644 --- a/lib/fuse.c +++ b/lib/fuse.c @@ -1497,6 +1497,9 @@ static void do_init(struct fuse *f, struct fuse_in_header *in, fflush(stdout); } f->got_init = 1; + if (f->op.init) + f->user_data = f->op.init(); + memset(&outarg, 0, sizeof(outarg)); outarg.major = FUSE_KERNEL_VERSION; outarg.minor = FUSE_KERNEL_MINOR_VERSION; @@ -1628,6 +1631,7 @@ void fuse_process_cmd(struct fuse *f, struct fuse_cmd *cmd) ctx->uid = in->uid; ctx->gid = in->gid; ctx->pid = in->pid; + ctx->private_data = f->user_data; argsize = cmd->buflen - sizeof(struct fuse_in_header); @@ -2031,6 +2035,8 @@ void fuse_destroy(struct fuse *f) free(f->name_table); pthread_mutex_destroy(&f->lock); pthread_mutex_destroy(&f->worker_lock); + if (f->op.destroy) + f->op.destroy(f->user_data); free(f); } -- cgit v1.2.3