diff options
author | Nikolaus Rath <Nikolaus@rath.org> | 2016-10-08 20:04:36 -0700 |
---|---|---|
committer | Nikolaus Rath <Nikolaus@rath.org> | 2016-10-08 21:27:06 -0700 |
commit | 56690972af25a1fbc60c18c58f757636c0ef0312 (patch) | |
tree | 98b468315841741cf5efbc86007cdb5e22d3071a /example/fuse_lo-plus.c | |
parent | 0719bd97b16d390f0c5098b7616a79d72089d98b (diff) | |
download | libfuse-56690972af25a1fbc60c18c58f757636c0ef0312.tar.gz |
Add background and multithreading support to hello_ll and fuse_lo-plus
Diffstat (limited to 'example/fuse_lo-plus.c')
-rw-r--r-- | example/fuse_lo-plus.c | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/example/fuse_lo-plus.c b/example/fuse_lo-plus.c index 1aa97b0..60c2daf 100644 --- a/example/fuse_lo-plus.c +++ b/example/fuse_lo-plus.c @@ -456,13 +456,6 @@ int main(int argc, char *argv[]) ret = 1; goto err_out1; } - if (!opts.foreground) - fprintf(stderr, "Warning: background operation " - "is not supported\n"); - if (!opts.singlethread) - fprintf(stderr, "Warning: multithreading is not " - "supported\n"); - lo.debug = opts.debug; lo.root.next = lo.root.prev = &lo.root; lo.root.fd = open("/", O_PATH); @@ -480,7 +473,13 @@ int main(int argc, char *argv[]) if (fuse_session_mount(se, opts.mountpoint) != 0) goto err_out3; - ret = fuse_session_loop(se); + fuse_daemonize(opts.foreground); + + /* Block until ctrl+c or fusermount -u */ + if (opts.singlethread) + ret = fuse_session_loop(se); + else + ret = fuse_session_loop_mt(se); fuse_session_unmount(se); err_out3: |