diff --git a/src/haproxy.c b/src/haproxy.c index 4510375d3..b2f3e367a 100644 --- a/src/haproxy.c +++ b/src/haproxy.c @@ -1443,6 +1443,7 @@ void deinit(void) pool_destroy2(pool2_pendconn); pool_destroy2(pool2_sig_handlers); pool_destroy2(pool2_hdr_idx); + pool_destroy2(pool2_http_txn); if (have_appsession) { pool_destroy2(apools.serverid); diff --git a/src/proto_http.c b/src/proto_http.c index fac05b77d..8bd6b5ef5 100644 --- a/src/proto_http.c +++ b/src/proto_http.c @@ -326,6 +326,7 @@ void init_proto_http() FD_SET(0x7f, http_encode_map); /* memory allocations */ + pool2_http_txn = create_pool("http_txn", sizeof(struct http_txn), MEM_F_SHARED); pool2_requri = create_pool("requri", REQURI_LEN, MEM_F_SHARED); pool2_uniqueid = create_pool("uniqueid", UNIQUEID_LEN, MEM_F_SHARED); } @@ -1087,6 +1088,7 @@ void http_return_srv_error(struct stream *s, struct stream_interface *si) extern const char sess_term_cond[8]; extern const char sess_fin_state[8]; extern const char *monthname[12]; +struct pool_head *pool2_http_txn; struct pool_head *pool2_requri; struct pool_head *pool2_capture = NULL; struct pool_head *pool2_uniqueid; diff --git a/src/stream.c b/src/stream.c index d28684ead..cd0f8bd9e 100644 --- a/src/stream.c +++ b/src/stream.c @@ -680,6 +680,7 @@ static void stream_free(struct stream *s) /* We may want to free the maximum amount of pools if the proxy is stopping */ if (fe && unlikely(fe->state == PR_STSTOPPED)) { pool_flush2(pool2_buffer); + pool_flush2(pool2_http_txn); pool_flush2(pool2_hdr_idx); pool_flush2(pool2_requri); pool_flush2(pool2_capture);