From 75a5fef4d22fe2bda10d79a232e9df43e7cb3136 Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Sun, 18 Oct 2009 23:43:57 +0200 Subject: [PATCH] [MINOR] http: pre-set the persistent flags in the transaction We should pre-set the persistent flags then try to clear them instead of the opposite. --- src/proto_http.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/proto_http.c b/src/proto_http.c index 31a2098f67..207483ce1f 100644 --- a/src/proto_http.c +++ b/src/proto_http.c @@ -2069,16 +2069,20 @@ int http_wait_for_request(struct session *s, struct buffer *req, int an_bit) conn_ka = 1; } + /* prepare flags for this transaction */ + txn->flags |= (TX_CLI_CONN_KA | TX_SRV_CONN_KA); + txn->flags |= (TX_CLI_CONN_KA | TX_SRV_CONN_KA); + if ((msg->sl.rq.v_l == 8) && (req->data[msg->som + msg->sl.rq.v + 5] == '1') && (req->data[msg->som + msg->sl.rq.v + 7] == '0')) { /* HTTP/1.0 */ - if (conn_ka) - txn->flags |= (TX_CLI_CONN_KA | TX_SRV_CONN_KA); + if (!conn_ka) + txn->flags &= ~(TX_CLI_CONN_KA | TX_SRV_CONN_KA); } else { - /* HTTP/1.0 */ - if (!conn_cl) - txn->flags |= (TX_CLI_CONN_KA | TX_SRV_CONN_KA); + /* HTTP/1.1 */ + if (conn_cl) + txn->flags &= ~(TX_CLI_CONN_KA | TX_SRV_CONN_KA); } /* we can mark the connection as non-persistent if needed */ -- 2.47.2