summaryrefslogtreecommitdiffhomepage
path: root/libs/sgi-webuci/boa-patches/020-sendfile_ENOSYS.patch
diff options
context:
space:
mode:
Diffstat (limited to 'libs/sgi-webuci/boa-patches/020-sendfile_ENOSYS.patch')
-rw-r--r--libs/sgi-webuci/boa-patches/020-sendfile_ENOSYS.patch15
1 files changed, 15 insertions, 0 deletions
diff --git a/libs/sgi-webuci/boa-patches/020-sendfile_ENOSYS.patch b/libs/sgi-webuci/boa-patches/020-sendfile_ENOSYS.patch
new file mode 100644
index 0000000000..6da0ebaa30
--- /dev/null
+++ b/libs/sgi-webuci/boa-patches/020-sendfile_ENOSYS.patch
@@ -0,0 +1,15 @@
+Index: boa-0.94.14rc21/src/pipe.c
+===================================================================
+--- boa-0.94.14rc21.orig/src/pipe.c 2007-08-08 20:03:29.000000000 -0400
++++ boa-0.94.14rc21/src/pipe.c 2007-08-08 20:03:45.000000000 -0400
+@@ -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;