mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-01-04 11:12:02 +00:00
BUG/MINOR: check: Wake the check task if the check is finished in wake_srv_chk()
With tcp-check, the result of the check is set by the function tcpcheck_main() from the I/O layer. So it is important to wake up the check task to handle the result and finish the check. Otherwise, we will wait the task timeout to handle the result of a tcp-check, delaying the next check by as much. This patch also fixes a problem about email alerts reported by PiBa-NL (Pieter) on the ML [1] on all versions since the 1.6. So this patch must be backported from 1.9 to 1.6. [1] https://www.mail-archive.com/haproxy@formilux.org/msg32190.html
This commit is contained in:
parent
f57afa453a
commit
774c486cec
@ -1442,12 +1442,13 @@ static int wake_srv_chk(struct conn_stream *cs)
|
||||
}
|
||||
|
||||
if (check->result != CHK_RES_UNKNOWN) {
|
||||
/* We're here because nobody wants to handle the error, so we
|
||||
* sure want to abort the hard way.
|
||||
*/
|
||||
/* Check complete or aborted. If connection not yet closed do it
|
||||
* now and wake the check task up to be sure the result is
|
||||
* handled ASAP. */
|
||||
conn_sock_drain(conn);
|
||||
cs_close(cs);
|
||||
ret = -1;
|
||||
task_wakeup(check->task, TASK_WOKEN_IO);
|
||||
}
|
||||
|
||||
if (check->server)
|
||||
|
Loading…
Reference in New Issue
Block a user