diff --git a/modules/filters/mod_reqtimeout.c b/modules/filters/mod_reqtimeout.c index cec9e607da..0dad52138c 100644 --- a/modules/filters/mod_reqtimeout.c +++ b/modules/filters/mod_reqtimeout.c @@ -24,6 +24,10 @@ #include "util_filter.h" #define APR_WANT_STRFUNC #include "apr_strings.h" +#include "apr_version.h" +#if APR_MAJOR_VERSION < 2 +#include "apr_support.h" +#endif module AP_MODULE_DECLARE_DATA reqtimeout_module; @@ -218,7 +222,11 @@ static apr_status_t reqtimeout_filter(ap_filter_t *f, } /* ... and wait for more */ +#if APR_MAJOR_VERSION < 2 + rv = apr_wait_for_io_or_timeout(NULL, ccfg->socket, 1); +#else rv = apr_socket_wait(ccfg->socket, APR_WAIT_READ); +#endif if (rv != APR_SUCCESS) break; diff --git a/modules/proxy/mod_proxy_fdpass.c b/modules/proxy/mod_proxy_fdpass.c index bac014fcee..542dfb3942 100644 --- a/modules/proxy/mod_proxy_fdpass.c +++ b/modules/proxy/mod_proxy_fdpass.c @@ -24,6 +24,12 @@ #error This module only works on unix platforms with the correct OS support #endif +#include "apr_version.h" +#if APR_MAJOR_VERSION < 2 +/* for apr_wait_for_io_or_timeout */ +#include "apr_support.h" +#endif + #include "mod_proxy_fdpass.h" module AP_MODULE_DECLARE_DATA proxy_fdpass_module; @@ -73,7 +79,12 @@ static apr_status_t socket_connect_un(apr_socket_t *sock, if ((rv == -1) && (errno == EINPROGRESS || errno == EALREADY) && (t > 0)) { +#if APR_MAJOR_VERSION < 2 + rv = apr_wait_for_io_or_timeout(NULL, sock, 0); +#else rv = apr_socket_wait(sock, APR_WAIT_WRITE); +#endif + if (rv != APR_SUCCESS) { return rv; }