mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-02-20 04:37:04 +00:00
OPTIM: session: set the READ_DONTWAIT flag when connecting
As soon as we connect to the server, we want to limit the number of recvfrom() on the response path because most of the time a single call will retrieve enough information. At the moment this is only done in the HTTP response parser, after some reads have already failed, which is too late. We need to do that at the earliest possible instant. It was already done for the request side by frontend_accept() for the first request, and by http_reset_txn() for the next requests. Thanks to this change, there are no more failed recvfrom() calls in keep-alive mode.
This commit is contained in:
parent
d7ad9f5b0d
commit
d81ca04051
@ -942,10 +942,7 @@ static void sess_establish(struct session *s, struct stream_interface *si)
|
||||
}
|
||||
else {
|
||||
s->txn.rsp.msg_state = HTTP_MSG_RPBEFORE;
|
||||
/* reset hdr_idx which was already initialized by the request.
|
||||
* right now, the http parser does it.
|
||||
* hdr_idx_init(&s->txn.hdr_idx);
|
||||
*/
|
||||
rep->flags |= CF_READ_DONTWAIT; /* a single read is enough to get response headers */
|
||||
}
|
||||
|
||||
rep->analysers |= s->fe->fe_rsp_ana | s->be->be_rsp_ana;
|
||||
|
Loading…
Reference in New Issue
Block a user