mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-02-07 22:12:08 +00:00
BUG/MEDIUM: checks: agent doesn't get the response if server does not closes
The agent refrains from reading the server's response until the server closes, but if the server waits for the client to close, the response is never read. Let's try to fetch a whole line before deciding to wait more.
This commit is contained in:
parent
9703e66bce
commit
9809b78ed9
17
src/checks.c
17
src/checks.c
@ -1138,11 +1138,22 @@ static void event_srv_chk_r(struct connection *conn)
|
||||
const char *desc = "Unknown feedback string";
|
||||
const char *down_cmd = NULL;
|
||||
int disabled;
|
||||
char *p;
|
||||
|
||||
if (!done)
|
||||
goto wait_more_data;
|
||||
/* get a complete line first */
|
||||
p = check->bi->data;
|
||||
while (*p && *p != '\n' && *p != '\r')
|
||||
p++;
|
||||
|
||||
cut_crlf(check->bi->data);
|
||||
if (!*p) {
|
||||
if (!done)
|
||||
goto wait_more_data;
|
||||
|
||||
/* at least inform the admin that the agent is mis-behaving */
|
||||
set_server_check_status(check, check->status, "Ignoring incomplete line from agent");
|
||||
break;
|
||||
}
|
||||
*p = 0;
|
||||
|
||||
/*
|
||||
* The agent may have been disabled after a check was
|
||||
|
Loading…
Reference in New Issue
Block a user