aboutsummaryrefslogtreecommitdiffstats
path: root/lib/fuse_session.c
diff options
context:
space:
mode:
authorMiklos Szeredi <miklos@szeredi.hu>2006-03-01 12:10:13 +0000
committerMiklos Szeredi <miklos@szeredi.hu>2006-03-01 12:10:13 +0000
commit5d9ce36da4688ba2c14f658ed40b5b4ad971879b (patch)
tree379c5435a0741965848f8eb2449bef9c8b4d080c /lib/fuse_session.c
parentee588c01dca3991807aea456a66246ff8ad0c332 (diff)
downloadlibfuse-5d9ce36da4688ba2c14f658ed40b5b4ad971879b.tar.gz
fix
Diffstat (limited to 'lib/fuse_session.c')
-rw-r--r--lib/fuse_session.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/lib/fuse_session.c b/lib/fuse_session.c
index 4ea792a..8943204 100644
--- a/lib/fuse_session.c
+++ b/lib/fuse_session.c
@@ -12,6 +12,7 @@
#include <stdlib.h>
#include <string.h>
#include <assert.h>
+#include <errno.h>
struct fuse_session {
struct fuse_session_ops op;
@@ -143,11 +144,17 @@ struct fuse_session *fuse_chan_session(struct fuse_chan *ch)
return ch->se;
}
-int fuse_chan_receive(struct fuse_chan *ch, char *buf, size_t size)
+int fuse_chan_recv(struct fuse_chan *ch, char *buf, size_t size)
{
return ch->op.receive(ch, buf, size);
}
+int fuse_chan_receive(struct fuse_chan *ch, char *buf, size_t size)
+{
+ int res = fuse_chan_recv(ch, buf, size);
+ return res >= 0 ? res : (res != -EINTR && res != -EAGAIN) ? -1 : 0;
+}
+
int fuse_chan_send(struct fuse_chan *ch, const struct iovec iov[], size_t count)
{
return ch->op.send(ch, iov, count);