diff options
author | Miklos Szeredi <miklos@szeredi.hu> | 2006-03-01 12:10:13 +0000 |
---|---|---|
committer | Miklos Szeredi <miklos@szeredi.hu> | 2006-03-01 12:10:13 +0000 |
commit | 5d9ce36da4688ba2c14f658ed40b5b4ad971879b (patch) | |
tree | 379c5435a0741965848f8eb2449bef9c8b4d080c /lib/fuse_loop_mt.c | |
parent | ee588c01dca3991807aea456a66246ff8ad0c332 (diff) |
fix
Diffstat (limited to 'lib/fuse_loop_mt.c')
-rw-r--r-- | lib/fuse_loop_mt.c | 12 |
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; } |