proxy_connect: Don't give up in the middle of a CONNECT tunnel
when the child process is starting to exit. PR50220. [Eric Covener]
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.2.x@
1043628 13f79535-47bb-0310-9956-
ffa450edef68
- -*- coding: utf-8 -*-
+ -*- coding: utf-8 -*-
Changes with Apache 2.2.18
-
+ *) proxy_connect: Don't give up in the middle of a CONNECT tunnel
+ when the child process is starting to exit. PR50220. [Eric Covener]
Changes with Apache 2.2.17
2.2.x patch: trunk patch works
+1: minfrin, jim, covener
- * mod_proxy_connect: don't break proxy connections when EINTR is received
- during poll PR50220.
- Trunk patch: http://svn.apache.org/viewvc?rev=1031551&view=rev
- 2.2.x patch: http://people.apache.org/~covener/patches/2.2.x-proxy_connect_eintr.diff
- +1 covener, trawick, poirier
-
PATCHES PROPOSED TO BACKPORT FROM TRUNK:
[ New proposals should be added at the end of the list ]
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;