* [PATCH] compat_sendfile: ensure this works without an offset
@ 2017-03-11 0:57 Eric Wong
0 siblings, 0 replies; only message in thread
From: Eric Wong @ 2017-03-11 0:57 UTC (permalink / raw)
To: cmogstored-public
While we never call sendfile without an offset, some projects
may copy our code and want to use it without an offset.
---
compat_sendfile.h | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/compat_sendfile.h b/compat_sendfile.h
index 8413891..c1cc9e4 100644
--- a/compat_sendfile.h
+++ b/compat_sendfile.h
@@ -12,14 +12,15 @@ static ssize_t compat_sendfile(int sockfd, int filefd, off_t *off, size_t count)
max_pread = MIN(max_pread, count);
do {
- r = pread(filefd, buf, max_pread, *off);
+ r = off ? pread(filefd, buf, max_pread, *off) :
+ read(filefd, buf, max_pread);
} while (r < 0 && errno == EINTR);
if (r <= 0)
return r;
w = write(sockfd, buf, r);
- if (w > 0)
+ if (w > 0 && off)
*off += w;
return w;
}
--
EW
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2017-03-11 0:57 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-03-11 0:57 [PATCH] compat_sendfile: ensure this works without an offset Eric Wong
Code repositories for project(s) associated with this public inbox
https://yhbt.net/cmogstored.git/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).