summaryrefslogtreecommitdiff
path: root/modules/proxy/mod_proxy_connect.c
diff options
context:
space:
mode:
Diffstat (limited to 'modules/proxy/mod_proxy_connect.c')
-rw-r--r--modules/proxy/mod_proxy_connect.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/modules/proxy/mod_proxy_connect.c b/modules/proxy/mod_proxy_connect.c
index d66a50d8..6de44d15 100644
--- a/modules/proxy/mod_proxy_connect.c
+++ b/modules/proxy/mod_proxy_connect.c
@@ -288,6 +288,9 @@ static int proxy_connect_handler(request_rec *r, proxy_worker *worker,
while (1) { /* Infinite loop until error (one side closes the connection) */
if ((rv = apr_pollset_poll(pollset, -1, &pollcnt, &signalled)) != APR_SUCCESS) {
+ if (APR_STATUS_IS_EINTR(rv)) {
+ continue;
+ }
apr_socket_close(sock);
ap_log_rerror(APLOG_MARK, APLOG_ERR, rv, r, "proxy: CONNECT: error apr_poll()");
return HTTP_INTERNAL_SERVER_ERROR;