From: Ruediger Pluem Date: Wed, 12 Dec 2007 10:38:19 +0000 (+0000) Subject: * Do not register connection_cleanup as cleanup for the conn->pool. In the past X-Git-Tag: 2.3.0~1148 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=033055ec4a04dcb87857af4998f039d8f0ba6642;p=thirdparty%2Fapache%2Fhttpd.git * Do not register connection_cleanup as cleanup for the conn->pool. In the past it was needed to register connection_cleanup as a cleanup for the frontend connection memory pool (c->pool) to ensure that connection returns into the connection pool if the memory pool of the frontend connection memory pool gets destroyed / cleared. Now we ensure explicitly the connection returns to the connection pool once we finished handling the request. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@603543 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/modules/proxy/proxy_util.c b/modules/proxy/proxy_util.c index b255b323dae..92eb8f34c0e 100644 --- a/modules/proxy/proxy_util.c +++ b/modules/proxy/proxy_util.c @@ -1599,9 +1599,6 @@ static apr_status_t connection_cleanup(void *theconn) /* determine if the connection need to be closed */ if (conn->close) { apr_pool_t *p = conn->pool; - if (conn->connection) { - apr_pool_cleanup_kill(p, conn, connection_cleanup); - } apr_pool_clear(p); memset(conn, 0, sizeof(proxy_conn_rec)); conn->pool = p; @@ -2311,13 +2308,6 @@ PROXY_DECLARE(int) ap_proxy_connection_create(const char *proxy_function, socket_cleanup(conn); return HTTP_INTERNAL_SERVER_ERROR; } - /* - * register the connection cleanup to client connection - * so that the connection can be closed or reused - */ - apr_pool_cleanup_register(conn->pool, (void *)conn, - connection_cleanup, - apr_pool_cleanup_null); /* For ssl connection to backend */ if (conn->is_ssl) {