mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-09-22 06:11:32 +02:00
[MINOR] http: disable keep-alive when process is going down
Krzysztof Oledzki suggested to disable keep-alive when a process is going down due to a reload, in order to avoid ever-lasting sessions. This is a simple and very efficient solution as it ensures that at most one more request will be handled on a keep-alive connection after the process has received a SIGUSR1 signal.
This commit is contained in:
parent
910ba4bb8b
commit
c3e8b25c79
@ -2844,7 +2844,8 @@ int http_process_req_common(struct session *s, struct buffer *req, int an_bit, s
|
|||||||
((txn->flags & TX_HDR_CONN_CLO) || /* "connection: close" */
|
((txn->flags & TX_HDR_CONN_CLO) || /* "connection: close" */
|
||||||
(txn->flags & (TX_REQ_VER_11|TX_HDR_CONN_KAL)) == 0 || /* no "connection: k-a" in 1.0 */
|
(txn->flags & (TX_REQ_VER_11|TX_HDR_CONN_KAL)) == 0 || /* no "connection: k-a" in 1.0 */
|
||||||
((s->fe->options|s->be->options) & PR_O_HTTP_CLOSE) || /* httpclose + any = forceclose */
|
((s->fe->options|s->be->options) & PR_O_HTTP_CLOSE) || /* httpclose + any = forceclose */
|
||||||
!(txn->flags & TX_REQ_XFER_LEN))) /* no length known => close */
|
!(txn->flags & TX_REQ_XFER_LEN) || /* no length known => close */
|
||||||
|
s->fe->state == PR_STSTOPPED)) /* frontend is stopping */
|
||||||
txn->flags = (txn->flags & ~TX_CON_WANT_MSK) | TX_CON_WANT_CLO;
|
txn->flags = (txn->flags & ~TX_CON_WANT_MSK) | TX_CON_WANT_CLO;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user