summaryrefslogtreecommitdiff
path: root/src/libelogind
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2017-12-12 23:21:09 +0100
committerSven Eden <yamakuzure@gmx.net>2018-05-30 07:49:54 +0200
commitcccf9018aecbbb5f7c31fa9b552622d053f79a45 (patch)
treef4f92d7677a3a64c8b39c531fa674701b89d2855 /src/libelogind
parentfd11b8eab60cf2fded2c1e4b499526d0ddf3c1fe (diff)
io-util: make flush_fd() return how many bytes where flushed
This is useful so that callers know whether anything at all and how much was flushed. This patches through users of this functions to ensure that the return values > 0 which may be returned now are not propagated in public APIs. Also, users that ignore the return value are changed to do so explicitly now.
Diffstat (limited to 'src/libelogind')
-rw-r--r--src/libelogind/sd-login/sd-login.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/libelogind/sd-login/sd-login.c b/src/libelogind/sd-login/sd-login.c
index a7de8f1c1..bc5f83eb3 100644
--- a/src/libelogind/sd-login/sd-login.c
+++ b/src/libelogind/sd-login/sd-login.c
@@ -1091,10 +1091,15 @@ _public_ sd_login_monitor* sd_login_monitor_unref(sd_login_monitor *m) {
}
_public_ int sd_login_monitor_flush(sd_login_monitor *m) {
+ int r;
assert_return(m, -EINVAL);
- return flush_fd(MONITOR_TO_FD(m));
+ r = flush_fd(MONITOR_TO_FD(m));
+ if (r < 0)
+ return r;
+
+ return 0;
}
_public_ int sd_login_monitor_get_fd(sd_login_monitor *m) {