diff options
author | 2001-11-16 10:12:59 +0000 | |
---|---|---|
committer | 2001-11-16 10:12:59 +0000 | |
commit | fff56ab1242e3ad7cddf15e7e981da55d06c4da5 (patch) | |
tree | baca68469ea73b679ac2e74aba52e7312e0ea7a8 /example | |
parent | 39f28679ed1c313bbeea85d370d95f62551bb21b (diff) |
better thread management
Diffstat (limited to 'example')
-rw-r--r-- | example/fusexmp.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/example/fusexmp.c b/example/fusexmp.c index 2ed35dc..aeb4f88 100644 --- a/example/fusexmp.c +++ b/example/fusexmp.c @@ -290,6 +290,7 @@ int main(int argc, char *argv[]) { int argctr; int flags; + int multithreaded; struct fuse *fuse; if(argc < 2) { @@ -308,7 +309,8 @@ int main(int argc, char *argv[]) set_signal_handlers(); atexit(cleanup); - flags = FUSE_MULTITHREAD; + flags = 0; + multithreaded = 1; for(; argctr < argc && argv[argctr][0] == '-'; argctr ++) { switch(argv[argctr][1]) { case 'd': @@ -316,7 +318,7 @@ int main(int argc, char *argv[]) break; case 's': - flags &= ~FUSE_MULTITHREAD; + multithreaded = 0; break; default: @@ -331,7 +333,11 @@ int main(int argc, char *argv[]) fuse = fuse_new(0, flags); fuse_set_operations(fuse, &xmp_oper); - fuse_loop(fuse); + + if(multithreaded) + fuse_loop_mt(fuse); + else + fuse_loop(fuse); return 0; } |