mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-02-12 08:27:24 +00:00
MINOR: http: release compression context only in http_end_txn()
Currently there are two places where the compression context is released, one in session_free() and another one in http_end_txn_clean_session(). Both of them call http_end_txn(), either directly or via http_reset_txn(), and this function is made for this exact purpose. So let's centralize the call there instead.
This commit is contained in:
parent
80a92c02f4
commit
7519560767
@ -4448,11 +4448,6 @@ void http_end_txn_clean_session(struct session *s)
|
||||
s->flags &= ~(SN_DIRECT|SN_ASSIGNED|SN_ADDR_SET|SN_BE_ASSIGNED|SN_FORCE_PRST|SN_IGNORE_PRST);
|
||||
s->flags &= ~(SN_CURR_SESS|SN_REDIRECTABLE|SN_SRV_REUSED);
|
||||
|
||||
if (s->flags & SN_COMP_READY)
|
||||
s->comp_algo->end(&s->comp_ctx);
|
||||
s->comp_algo = NULL;
|
||||
s->flags &= ~SN_COMP_READY;
|
||||
|
||||
s->txn.meth = 0;
|
||||
http_reset_txn(s);
|
||||
s->txn.flags |= TX_NOT_FIRST | TX_WAIT_NEXT_RQ;
|
||||
@ -8243,6 +8238,12 @@ void http_end_txn(struct session *s)
|
||||
{
|
||||
struct http_txn *txn = &s->txn;
|
||||
|
||||
/* release any possible compression context */
|
||||
if (s->flags & SN_COMP_READY)
|
||||
s->comp_algo->end(&s->comp_ctx);
|
||||
s->comp_algo = NULL;
|
||||
s->flags &= ~SN_COMP_READY;
|
||||
|
||||
/* these ones will have been dynamically allocated */
|
||||
pool_free2(pool2_requri, txn->uri);
|
||||
pool_free2(pool2_capture, txn->cli_cookie);
|
||||
|
@ -602,11 +602,6 @@ static void session_free(struct session *s)
|
||||
sess_change_server(s, NULL);
|
||||
}
|
||||
|
||||
if (s->flags & SN_COMP_READY)
|
||||
s->comp_algo->end(&s->comp_ctx);
|
||||
s->comp_algo = NULL;
|
||||
s->flags &= ~SN_COMP_READY;
|
||||
|
||||
if (s->req->pipe)
|
||||
put_pipe(s->req->pipe);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user