From 51d8f69fb152ae5a47151c2f132fd4263ec3d144 Mon Sep 17 00:00:00 2001 From: Dimitri Staessens Date: Sat, 14 Mar 2020 17:52:06 +0100 Subject: lib: Return number of written bytes on flow_write This is more in line with the write() system call and prepares for partial writes. Partial writes are disabled by default (and not yet implemented). Signed-off-by: Dimitri Staessens Signed-off-by: Sander Vrijders --- src/lib/dev.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'src/lib/dev.c') diff --git a/src/lib/dev.c b/src/lib/dev.c index 8647bea9..80d7e9ad 100644 --- a/src/lib/dev.c +++ b/src/lib/dev.c @@ -1007,6 +1007,7 @@ ssize_t flow_write(int fd, if ((flags & FLOWFACCMODE) == FLOWFRDONLY) return -EPERM; + /* TODO: partial writes. */ if (flags & FLOWFWNOBLOCK) idx = shm_rdrbuff_alloc(ai.rdrb, count, @@ -1056,9 +1057,7 @@ ssize_t flow_write(int fd, pthread_rwlock_unlock(&ai.lock); - assert(ret <= 0); - - return ret; + return ret < 0 ? (ssize_t) ret : (ssize_t) count; } ssize_t flow_read(int fd, -- cgit v1.2.3