]> git.ipfire.org Git - thirdparty/apache/httpd.git/commit
mod_proxy: follow up to r1879401: call filters on tunnel POLLERR.
authorYann Ylavic <ylavic@apache.org>
Thu, 23 Jul 2020 12:00:04 +0000 (12:00 +0000)
committerYann Ylavic <ylavic@apache.org>
Thu, 23 Jul 2020 12:00:04 +0000 (12:00 +0000)
commit90d3807181db206f2567cf31ac7170da8d959885
tree76360977f8a9972193b31afc9f6059fd5a5f8df3
parent6e1f61300dd2ecc67d799184022c4599ba4b57a2
mod_proxy: follow up to r1879401: call filters on tunnel POLLERR.

proxy_util.c:
    Set POLLERR in reqevents for pollset providers that require it to detect
    socket errors (like select() based one).
    Call filters to read/write on POLLERR socket event, so that they know about
    the error by experiencing the failure. If no POLLIN|POLLOUT is returned
    with POLLERR (depending on the system or pollset provider), go with the
    requested read or write event handling.
    Restore ap_proxy_transfer_between_connections() so that it always tries to
    read first (i.e. move yielding conditions afterward).
    Add proxy_tunnel_forward() helper that calls transfer_between_connections()
    and handles errors pollset updates.
    Call proxy_tunnel_forward() when write completion finishes and there are
    pending input data.

mod_proxy.h:
    Add read_buf_size to proxy_tunnel_rec (trunk only, no MMN minor bump).

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1880200 13f79535-47bb-0310-9956-ffa450edef68
modules/proxy/mod_proxy.h
modules/proxy/proxy_util.c