mirror of
https://github.com/haproxy/haproxy.git
synced 2026-02-03 20:39:41 -05:00
BUG/MEDIUM: peers: Properly handle shutdown when trying to get a line
When a shutdown was reported to a peer applet, the event was not properly handled if it failed to receive data. The function responsible to get data was exiting too early if the applet buffer was empty, without testing the sedesc status. Because of this issue, it was possible to have frozen peer applets. For instance, it happend on client timeout. With too many frozen applets, it was possible to reach the maxconn. This patch should fix the issue #3234. It must be backported to 3.3.
This commit is contained in:
parent
196d16f2b1
commit
0b29b76a52
1 changed files with 1 additions and 1 deletions
|
|
@ -1212,7 +1212,7 @@ static inline int peer_getline(struct appctx *appctx)
|
|||
int n = 0;
|
||||
|
||||
TRACE_ENTER(PEERS_EV_SESS_IO|PEERS_EV_RX_MSG, appctx);
|
||||
if (applet_get_inbuf(appctx) == NULL || !applet_input_data(appctx)) {
|
||||
if (applet_get_inbuf(appctx) == NULL) {
|
||||
applet_need_more_data(appctx);
|
||||
goto out;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue