mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-11-28 06:11:32 +01:00
MINOR: http: create a dedicated pool for http_txn
This one will not necessarily be allocated for each stream, and we want to use the fact that it equals null to know it's not present so that we can always deduce its presence from the stream pointer. This commit only creates the new pool.
This commit is contained in:
parent
cb7dd015be
commit
63986c72c8
@ -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);
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user