summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Kneschke <jan@kneschke.de>2006-01-09 16:53:47 +0000
committerJan Kneschke <jan@kneschke.de>2006-01-09 16:53:47 +0000
commite99d078e31fb7db7900397242e5c965563d3bd3c (patch)
tree81924726b2c71e2c00f880d51c9bb5c1f85d2f70
parent3567a42a7b3d7980d8fc59c5c97c3f5370b7c366 (diff)
downloadlighttpd-git-e99d078e31fb7db7900397242e5c965563d3bd3c.tar.gz
handle a sendfile() = 0 is connection closed by remote side
git-svn-id: svn+ssh://svn.lighttpd.net/lighttpd/branches/lighttpd-merge-1.4.x@930 152afb58-edef-0310-8abb-c4023f1b3aa9
-rw-r--r--src/network_linux_sendfile.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/network_linux_sendfile.c b/src/network_linux_sendfile.c
index 5628a94e..57523858 100644
--- a/src/network_linux_sendfile.c
+++ b/src/network_linux_sendfile.c
@@ -173,6 +173,11 @@ int network_write_chunkqueue_linuxsendfile(server *srv, connection *con, int fd,
return -1;
}
}
+
+ if (r == 0) {
+ /* we got a event to write put we couldn't. remote side closed ? */
+ return -2;
+ }
c->offset += r;
cq->bytes_out += r;