mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-02-16 02:26:54 +00:00
[OPTIM] http: don't delay response if next request is incomplete
We use to delay the response if there is a new request in the buffer. However, if the pending request is incomplete, we should not delay the pending responses.
This commit is contained in:
parent
d5fd51c75b
commit
ff7b5883c0
@ -2260,6 +2260,7 @@ int http_wait_for_request(struct session *s, struct buffer *req, int an_bit)
|
||||
if (s->rep->send_max) {
|
||||
/* don't let a connection request be initiated */
|
||||
buffer_dont_connect(req);
|
||||
s->rep->flags &= ~BF_EXPECT_MORE; /* speed up sending a previous response */
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
@ -2395,6 +2396,7 @@ int http_wait_for_request(struct session *s, struct buffer *req, int an_bit)
|
||||
|
||||
buffer_dont_connect(req);
|
||||
req->flags |= BF_READ_DONTWAIT; /* try to get back here ASAP */
|
||||
s->rep->flags &= ~BF_EXPECT_MORE; /* speed up sending a previous response */
|
||||
|
||||
if ((msg->msg_state != HTTP_MSG_RQBEFORE) && (txn->flags & TX_WAIT_NEXT_RQ)) {
|
||||
/* If the client starts to talk, let's fall back to
|
||||
@ -2427,6 +2429,7 @@ int http_wait_for_request(struct session *s, struct buffer *req, int an_bit)
|
||||
msg->msg_state = HTTP_MSG_RQBEFORE;
|
||||
req->analysers = 0;
|
||||
s->logs.logwait = 0;
|
||||
s->rep->flags &= ~BF_EXPECT_MORE; /* speed up sending a previous response */
|
||||
stream_int_retnclose(req->prod, NULL);
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user