From 5d9ce36da4688ba2c14f658ed40b5b4ad971879b Mon Sep 17 00:00:00 2001 From: Miklos Szeredi Date: Wed, 1 Mar 2006 12:10:13 +0000 Subject: fix --- lib/fuse_loop.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'lib/fuse_loop.c') diff --git a/lib/fuse_loop.c b/lib/fuse_loop.c index 1609bfc..6a6edaa 100644 --- a/lib/fuse_loop.c +++ b/lib/fuse_loop.c @@ -10,6 +10,7 @@ #include #include +#include int fuse_session_loop(struct fuse_session *se) { @@ -23,16 +24,15 @@ int fuse_session_loop(struct fuse_session *se) } while (!fuse_session_exited(se)) { - res = fuse_chan_receive(ch, buf, bufsize); - if (!res) + res = fuse_chan_recv(ch, buf, bufsize); + if (res == -EINTR) continue; - if (res == -1) + if (res <= 0) break; fuse_session_process(se, buf, res, ch); - res = 0; } free(buf); fuse_session_reset(se); - return res; + return res < 0 ? -1 : 0; } -- cgit v1.2.3