aboutsummaryrefslogtreecommitdiff
path: root/lib/fuse_loop_mt.c
diff options
context:
space:
mode:
authorGravatar Miklos Szeredi <miklos@szeredi.hu>2006-03-01 12:10:13 +0000
committerGravatar Miklos Szeredi <miklos@szeredi.hu>2006-03-01 12:10:13 +0000
commit5d9ce36da4688ba2c14f658ed40b5b4ad971879b (patch)
tree379c5435a0741965848f8eb2449bef9c8b4d080c /lib/fuse_loop_mt.c
parentee588c01dca3991807aea456a66246ff8ad0c332 (diff)
fix
Diffstat (limited to 'lib/fuse_loop_mt.c')
-rw-r--r--lib/fuse_loop_mt.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/lib/fuse_loop_mt.c b/lib/fuse_loop_mt.c
index 540607b..16be149 100644
--- a/lib/fuse_loop_mt.c
+++ b/lib/fuse_loop_mt.c
@@ -74,12 +74,14 @@ static void *do_work(void *data)
pthread_setcanceltype(PTHREAD_CANCEL_DEFERRED, NULL);
while (!fuse_session_exited(w->se)) {
- int res = fuse_chan_receive(w->prevch, buf, bufsize);
- if (!res)
+ int res = fuse_chan_recv(w->prevch, buf, bufsize);
+ if (res == -EINTR)
continue;
- if (res == -1) {
- fuse_session_exit(w->se);
- w->error = -1;
+ if (res <= 0) {
+ if (res < 0) {
+ fuse_session_exit(w->se);
+ w->error = -1;
+ }
break;
}