aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Nikolaus Rath <Nikolaus@rath.org>2017-08-23 23:36:22 +0200
committerGravatar Nikolaus Rath <Nikolaus@rath.org>2017-08-23 23:37:35 +0200
commit3e8954279eb2374d8c3905c1b1ff21ea5b97f856 (patch)
tree88acb9887f04e9febd748a6210727193c4b53895
parent84499b2eefb0c8496b9eccb8b2c0f5928fb68ce6 (diff)
fuse_loop(): don't return non-zero if there was no error
-rw-r--r--ChangeLog.rst3
-rw-r--r--lib/fuse_loop.c4
2 files changed, 7 insertions, 0 deletions
diff --git a/ChangeLog.rst b/ChangeLog.rst
index a564d9b..ce9ffd7 100644
--- a/ChangeLog.rst
+++ b/ChangeLog.rst
@@ -1,6 +1,9 @@
Unreleased Changes
==================
+* `fuse_loop` no longer returns a positive value if the filesystem
+ loop was terminated without errors or signals.
+
* Improved documentation of `fuse_lowlevel_notify_*` functions.
* `fuse_lowlevel_notify_inval_inode()` and
diff --git a/lib/fuse_loop.c b/lib/fuse_loop.c
index c847bd8..e6560aa 100644
--- a/lib/fuse_loop.c
+++ b/lib/fuse_loop.c
@@ -35,6 +35,10 @@ int fuse_session_loop(struct fuse_session *se)
}
free(fbuf.mem);
+ if(res > 0)
+ /* No error, just the length of the most recently read
+ request */
+ res = 0;
if(se->error != 0)
res = se->error;
fuse_session_reset(se);