mirror of
https://git.FreeBSD.org/ports.git
synced 2024-11-20 00:21:35 +00:00
- Respect EAGAIN and retry sendfile() instead close connection.
- Remove empty lines and add two more cases to switch(errno) - Bump PORTREVISION
This commit is contained in:
parent
614aa6562b
commit
9afd7a7477
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=199912
@ -7,6 +7,7 @@
|
||||
|
||||
PORTNAME= lighttpd
|
||||
PORTVERSION= 1.4.18
|
||||
PORTREVISION= 1
|
||||
CATEGORIES= www
|
||||
MASTER_SITES= http://www.lighttpd.net/download/ \
|
||||
http://mirrors.cat.pdx.edu/lighttpd/
|
||||
|
47
www/lighttpd/files/patch-src__network_freebsd_sendfile.c
Normal file
47
www/lighttpd/files/patch-src__network_freebsd_sendfile.c
Normal file
@ -0,0 +1,47 @@
|
||||
#
|
||||
# Respect EAGAIN and retry sendfile() instead close connection.
|
||||
# Remove empty lines and add two more cases to switch(errno)
|
||||
#
|
||||
--- src/network_freebsd_sendfile.c.orig 2007-09-22 19:55:26.000000000 -0300
|
||||
+++ src/network_freebsd_sendfile.c 2007-09-22 19:43:28.000000000 -0300
|
||||
@@ -151,23 +151,23 @@
|
||||
if (-1 == c->file.fd) {
|
||||
if (-1 == (c->file.fd = open(c->file.name->ptr, O_RDONLY))) {
|
||||
log_error_write(srv, __FILE__, __LINE__, "ss", "open failed: ", strerror(errno));
|
||||
-
|
||||
return -1;
|
||||
}
|
||||
-
|
||||
#ifdef FD_CLOEXEC
|
||||
fcntl(c->file.fd, F_SETFD, FD_CLOEXEC);
|
||||
#endif
|
||||
}
|
||||
|
||||
- r = 0;
|
||||
-
|
||||
+eagain:
|
||||
/* FreeBSD sendfile() */
|
||||
+ r = 0;
|
||||
if (-1 == sendfile(c->file.fd, fd, offset, toSend, NULL, &r, 0)) {
|
||||
switch(errno) {
|
||||
case EAGAIN:
|
||||
+ case EINTR:
|
||||
break;
|
||||
case ENOTCONN:
|
||||
+ case ENOTSOCK:
|
||||
return -2;
|
||||
default:
|
||||
log_error_write(srv, __FILE__, __LINE__, "ssd", "sendfile: ", strerror(errno), errno);
|
||||
@@ -190,12 +190,10 @@
|
||||
if (offset >= sce->st.st_size) {
|
||||
/* file shrinked, close the connection */
|
||||
errno = oerrno;
|
||||
-
|
||||
return -1;
|
||||
}
|
||||
|
||||
errno = oerrno;
|
||||
- return -2;
|
||||
}
|
||||
|
||||
c->offset += r;
|
Loading…
Reference in New Issue
Block a user