summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Kneschke <jan@kneschke.de>2005-03-04 10:25:43 +0000
committerJan Kneschke <jan@kneschke.de>2005-03-04 10:25:43 +0000
commit6b297b3341fa59ff44e9796b51f4cd521c5a7970 (patch)
treed7efddc009f45dfd9e703e9188701c1d4ca1b139
parent9d057a63cb8707ee7aef8ae8cc25ad7b2a355855 (diff)
downloadlighttpd-git-6b297b3341fa59ff44e9796b51f4cd521c5a7970.tar.gz
ignore remove-close in freebsd sendfile()
git-svn-id: svn://svn.lighttpd.net/lighttpd/trunk@90 152afb58-edef-0310-8abb-c4023f1b3aa9
-rw-r--r--src/network_freebsd_sendfile.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/network_freebsd_sendfile.c b/src/network_freebsd_sendfile.c
index 8953fb68..71f9fa6a 100644
--- a/src/network_freebsd_sendfile.c
+++ b/src/network_freebsd_sendfile.c
@@ -156,7 +156,12 @@ int network_write_chunkqueue_freebsdsendfile(server *srv, connection *con, chunk
/* FreeBSD sendfile() */
if (-1 == sendfile(con->fce->fd, fd, offset, toSend, NULL, &r, 0)) {
- if (errno != EAGAIN) {
+ switch(errno) {
+ case EAGAIN:
+ break;
+ case ENOTCONN:
+ return -2;
+ default:
log_error_write(srv, __FILE__, __LINE__, "ssd", "sendfile: ", strerror(errno), errno);
return -1;