fuse_loop(): don't return non-zero if there was no error
authorNikolaus Rath <Nikolaus@rath.org>
Wed, 23 Aug 2017 21:36:22 +0000 (23:36 +0200)
committerNikolaus Rath <Nikolaus@rath.org>
Wed, 23 Aug 2017 21:37:35 +0000 (23:37 +0200)
ChangeLog.rst
lib/fuse_loop.c

index a564d9bd76be8febfbffdd5e923720f4cc632de5..ce9ffd76cb4dfe1cdfc9a780e34741f261b5f60c 100644 (file)
@@ -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
index c847bd80fb64d614720dd710c1d57051372c0765..e6560aa9f3b8e8902c69a599aeb6767c48f1a683 100644 (file)
@@ -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);