diff options
Diffstat (limited to 'lib/fuse_mt.c')
-rw-r--r-- | lib/fuse_mt.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/lib/fuse_mt.c b/lib/fuse_mt.c index 42d4bad..f1a2e5c 100644 --- a/lib/fuse_mt.c +++ b/lib/fuse_mt.c @@ -32,9 +32,14 @@ static void *do_work(void *data) struct fuse *f = w->f; while(1) { - struct fuse_cmd *cmd = __fuse_read_cmd(w->f); + struct fuse_cmd *cmd; + + if(f->exited) + break; + + cmd = __fuse_read_cmd(w->f); if(cmd == NULL) - pthread_exit(NULL); + continue; if(f->numavail == 0 && f->numworker < FUSE_MAX_WORKERS) { pthread_mutex_lock(&f->lock); |