* Added documentation for FUSE_CAP_FLOCK_LOCKS.
+* fuse_loop(), fuse_loop_mt(), fuse_session_loop() and
+ fuse_session_loop_mt() now return -errno instead of -1 in case of
+ failure.
+
FUSE 3.0.0-rc2 (2016-11-06)
===========================
* operations are called.
*
* @param f the FUSE handle
- * @return 0 if no error occurred, -1 otherwise
+ * @return 0 if no error occurred, -errno otherwise
*
* See also: fuse_loop()
*/
* @param f the FUSE handle
* @param clone_fd whether to use separate device fds for each thread
* (may increase performance)
- * @return 0 if no error occurred, -1 otherwise
+ * @return 0 if no error occurred, -errno otherwise
*
* See also: fuse_loop()
*/
* fuse_set_signal_handlers() first.
*
* @param se the session
- * @return 0 on success, -1 on error
+ * @return 0 on success, -errno on failure
*/
int fuse_session_loop(struct fuse_session *se);
* @param se the session
* @param clone_fd whether to use separate device fds for each thread
* (may increase performance)
- * @return 0 on success, -1 on error
+ * @return 0 on success, -errno on failure
*/
int fuse_session_loop_mt(struct fuse_session *se, int clone_fd);
uint64_t notify_ctr;
struct fuse_notify_req notify_list;
size_t bufsize;
+ int error;
};
struct fuse_chan {
}
free(fbuf.mem);
+ if(se->error != 0)
+ res = se->error;
fuse_session_reset(se);
- return res < 0 ? -1 : 0;
+ return res;
}
pthread_mutex_destroy(&mt.lock);
sem_destroy(&mt.finish);
+ if(se->error != 0)
+ err = se->error;
fuse_session_reset(se);
return err;
}
void fuse_session_reset(struct fuse_session *se)
{
se->exited = 0;
+ se->error = 0;
}
int fuse_session_exited(struct fuse_session *se)