diff options
author | Miklos Szeredi <mszeredi@suse.cz> | 2013-02-08 08:03:01 +0100 |
---|---|---|
committer | Miklos Szeredi <mszeredi@suse.cz> | 2013-02-08 08:03:01 +0100 |
commit | 1d63685572b2692b2152dcd266420f86e5915cd3 (patch) | |
tree | b7a676da6f733a09ebed1de12ed7d31c468b844b /lib | |
parent | 1c317e87738c2dc16f128927afe91d1649d3ae4b (diff) |
libfuse: remove deprecated fuse_loop_mt_proc()
Diffstat (limited to 'lib')
-rw-r--r-- | lib/fuse_mt.c | 98 | ||||
-rw-r--r-- | lib/fuse_versionscript | 1 |
2 files changed, 1 insertions, 98 deletions
diff --git a/lib/fuse_mt.c b/lib/fuse_mt.c index fbfa52a..ee38b28 100644 --- a/lib/fuse_mt.c +++ b/lib/fuse_mt.c @@ -6,105 +6,9 @@ See the file COPYING.LIB. */ -#include "fuse_i.h" -#include "fuse_misc.h" +#include "fuse.h" #include "fuse_lowlevel.h" -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <pthread.h> -#include <assert.h> - -struct procdata { - struct fuse *f; - struct fuse_chan *prevch; - struct fuse_session *prevse; - fuse_processor_t proc; - void *data; -}; - -static void mt_session_proc(void *data, const char *buf, size_t len, - struct fuse_chan *ch) -{ - struct procdata *pd = (struct procdata *) data; - struct fuse_cmd *cmd = *(struct fuse_cmd **) buf; - - (void) len; - (void) ch; - pd->proc(pd->f, cmd, pd->data); -} - -static void mt_session_exit(void *data, int val) -{ - struct procdata *pd = (struct procdata *) data; - if (val) - fuse_session_exit(pd->prevse); - else - fuse_session_reset(pd->prevse); -} - -static int mt_session_exited(void *data) -{ - struct procdata *pd = (struct procdata *) data; - return fuse_session_exited(pd->prevse); -} - -static int mt_chan_receive(struct fuse_chan **chp, char *buf, size_t size) -{ - struct fuse_cmd *cmd; - struct procdata *pd = (struct procdata *) fuse_chan_data(*chp); - - assert(size >= sizeof(cmd)); - - cmd = fuse_read_cmd(pd->f); - if (cmd == NULL) - return 0; - - *(struct fuse_cmd **) buf = cmd; - - return sizeof(cmd); -} - -int fuse_loop_mt_proc(struct fuse *f, fuse_processor_t proc, void *data) -{ - int res; - struct procdata pd; - struct fuse_session *prevse = fuse_get_session(f); - struct fuse_session *se; - struct fuse_chan *prevch = fuse_session_next_chan(prevse, NULL); - struct fuse_chan *ch; - struct fuse_session_ops sop = { - .exit = mt_session_exit, - .exited = mt_session_exited, - .process = mt_session_proc, - }; - struct fuse_chan_ops cop = { - .receive = mt_chan_receive, - }; - - pd.f = f; - pd.prevch = prevch; - pd.prevse = prevse; - pd.proc = proc; - pd.data = data; - - se = fuse_session_new(&sop, &pd); - if (se == NULL) - return -1; - - ch = fuse_chan_new(&cop, fuse_chan_fd(prevch), - sizeof(struct fuse_cmd *), &pd); - if (ch == NULL) { - fuse_session_destroy(se); - return -1; - } - fuse_session_add_chan(se, ch); - res = fuse_session_loop_mt(se); - fuse_session_destroy(se); - return res; -} - int fuse_loop_mt(struct fuse *f) { if (f == NULL) diff --git a/lib/fuse_versionscript b/lib/fuse_versionscript index bd85aaf..20d84f9 100644 --- a/lib/fuse_versionscript +++ b/lib/fuse_versionscript @@ -5,7 +5,6 @@ FUSE_3.0 { fuse_exited; fuse_loop; fuse_loop_mt; - fuse_loop_mt_proc; fuse_main; fuse_process_cmd; fuse_read_cmd; |