mirror of
https://github.com/haproxy/haproxy.git
synced 2026-04-21 22:28:41 -04:00
OPTIM: http: do not re-enable reading on client side while closing the server side
It's common to observe a an recv() call on the client side just after the connect() to has been issued to the server side when running in server close mode. The reason is that the whole request has been sent and the shutw() has been queued in the channel, so the request message switches to the MSG_CLOSED state, which didn't disable reading. Let's do it now. That way the reading will only be re-enabled after the response is transferred to the client. However if abortonclose is set, we still leave it enabled.
This commit is contained in:
parent
3f3997e6c6
commit
2e7a165899
1 changed files with 2 additions and 0 deletions
|
|
@ -4496,6 +4496,8 @@ int http_sync_req_state(struct session *s)
|
|||
|
||||
if (txn->req.msg_state == HTTP_MSG_CLOSED) {
|
||||
http_msg_closed:
|
||||
if (!(s->be->options & PR_O_ABRT_CLOSE))
|
||||
channel_dont_read(chn);
|
||||
goto wait_other_side;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue