Ticket #52329: lighttpd-1.4.41-writev-failed-backport.patch

File lighttpd-1.4.41-writev-failed-backport.patch, 2.4 KB (added by jim.a.driscoll@…, 8 years ago)

Port patch

  • Portfile

    diff -urN lighttpd.old/Portfile lighttpd/Portfile
    old new  
    55
    66name                        lighttpd
    77version                     1.4.41
     8revision                    1
    89set branch                  [join [lrange [split ${version} .] 0 1] .]
    910categories                  www
    1011platforms                   darwin
     
    3334                            port:spawn-fcgi \
    3435                            port:zlib
    3536
    36 patchfiles                  patch-conf.diff
     37patchfiles                  patch-conf.diff \
     38                            patch-lighttpd-sendfile.diff
    3739
    3840post-patch {
    3941    reinplace "s|@PREFIX@|${prefix}|g" \
  • files/patch-lighttpd-sendfile.diff

    diff -urN lighttpd.old/files/patch-lighttpd-sendfile.diff lighttpd/files/patch-lighttpd-sendfile.diff
    old new  
     1diff -ur src/mod_fastcgi.c src/mod_fastcgi.c
     2--- src/mod_fastcgi.c   2016-09-22 18:09:42.000000000 +0100
     3+++ src/mod_fastcgi.c   2016-09-22 18:13:01.000000000 +0100
     4@@ -3257,7 +3257,8 @@
     5                }
     6        }
     7 
     8-       return (0 == hctx->wb->bytes_in || !chunkqueue_is_empty(hctx->wb))
     9+       return ((0 == hctx->wb->bytes_in || !chunkqueue_is_empty(hctx->wb))
     10+        && hctx->state != FCGI_STATE_CONNECT_DELAYED)
     11          ? fcgi_send_request(srv, hctx)
     12          : HANDLER_WAIT_FOR_EVENT;
     13 }
     14diff -ur src/mod_proxy.c src/mod_proxy.c
     15--- src/mod_proxy.c     2016-09-22 18:09:42.000000000 +0100
     16+++ src/mod_proxy.c     2016-09-22 18:14:21.000000000 +0100
     17@@ -992,7 +992,8 @@
     18                }
     19        }
     20 
     21-       return (0 == hctx->wb->bytes_in || !chunkqueue_is_empty(hctx->wb))
     22+       return ((0 == hctx->wb->bytes_in || !chunkqueue_is_empty(hctx->wb))
     23+        && hctx->state != PROXY_STATE_CONNECT)
     24          ? proxy_send_request(srv, hctx)
     25          : HANDLER_WAIT_FOR_EVENT;
     26 }
     27diff -ur src/mod_scgi.c src/mod_scgi.c
     28--- src/mod_scgi.c      2016-09-22 18:09:42.000000000 +0100
     29+++ src/mod_scgi.c      2016-09-22 18:14:45.000000000 +0100
     30@@ -2585,7 +2585,8 @@
     31                }
     32        }
     33 
     34-       return (0 == hctx->wb->bytes_in || !chunkqueue_is_empty(hctx->wb))
     35+       return ((0 == hctx->wb->bytes_in || !chunkqueue_is_empty(hctx->wb))
     36+        && hctx->state != FCGI_STATE_CONNECT)
     37          ? scgi_send_request(srv, hctx)
     38          : HANDLER_WAIT_FOR_EVENT;
     39 }