cmogstored dev/user discussion/issues/patches/etc
 help / color / mirror / code / Atom feed
* [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).