diff options
Diffstat (limited to 'modules/proxy/mod_proxy_connect.c')
-rw-r--r-- | modules/proxy/mod_proxy_connect.c | 3 |
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; |