diff options
Diffstat (limited to 'www-servers/boa/files/boa-0.94.14_rc21-ENOSYS.patch')
-rw-r--r-- | www-servers/boa/files/boa-0.94.14_rc21-ENOSYS.patch | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/www-servers/boa/files/boa-0.94.14_rc21-ENOSYS.patch b/www-servers/boa/files/boa-0.94.14_rc21-ENOSYS.patch new file mode 100644 index 00000000000..35dc3d2493e --- /dev/null +++ b/www-servers/boa/files/boa-0.94.14_rc21-ENOSYS.patch @@ -0,0 +1,17 @@ +check for sendfile() returning ENOSYS and fall back to standard I/O. +http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=330871 + +diff -Naur boa-0.94.14rc21-orig/src/pipe.c boa-0.94.14rc21/src/pipe.c +--- boa-0.94.14rc21-orig/src/pipe.c 2007-07-01 10:49:23.000000000 -0600 ++++ boa-0.94.14rc21/src/pipe.c 2007-07-01 10:56:56.000000000 -0600 +@@ -215,7 +215,9 @@ + } + req->ranges->start = sendfile_offset; + if (bytes_written < 0) { +- if (errno == EWOULDBLOCK || errno == EAGAIN) { ++ if (errno == ENOSYS) { ++ return io_shuffle(req); ++ } else if (errno == EWOULDBLOCK || errno == EAGAIN) { + return -1; /* request blocked at the pipe level, but keep going */ + } else if (errno == EINTR) { + goto retrysendfile; |