| 1621 | } |
| 1622 | |
| 1623 | static proxy_conn_rec *connection_make(apr_pool_t *p, proxy_worker *worker) |
| 1624 | { |
| 1625 | proxy_conn_rec *conn; |
| 1626 | |
| 1627 | conn = apr_pcalloc(p, sizeof(proxy_conn_rec)); |
| 1628 | conn->pool = p; |
| 1629 | conn->worker = worker; |
| 1630 | |
| 1631 | /* |
| 1632 | * Create another subpool that manages the data for the |
| 1633 | * socket and the connection member of the proxy_conn_rec struct as we |
| 1634 | * destroy this data more frequently than other data in the proxy_conn_rec |
| 1635 | * struct like hostname and addr (at least in the case where we have |
| 1636 | * keepalive connections that timed out). |
| 1637 | * |
| 1638 | * XXX: this is really needed only when worker->s->is_address_reusable, |
| 1639 | * otherwise conn->scpool = conn->pool would be fine. For now we |
| 1640 | * can't change it since it's (kind of) part of the API. |
| 1641 | */ |
| 1642 | apr_pool_create(&conn->scpool, p); |
| 1643 | apr_pool_tag(conn->scpool, "proxy_conn_scpool"); |
| 1644 | |
| 1645 | return conn; |
| 1646 | } |
| 1647 | |
| 1648 | static void connection_cleanup(void *theconn) |
| 1649 | { |
no outgoing calls
no test coverage detected