BUG/MINOR: checks: properly handle wrapping time in __health_adjust()

There's an issue when a server state changes, we use an integer comparison
to decide whether or not to reschedule a test instead of using a wrapping
timer comparison. This will cause some health-checks not to be immediately
triggered half of the time, and some unneeded calls to task_queue() to be
performed in other cases.

This bug has always been there as it was introduced with the commit that
added the feature, 97f07b832 ("[MEDIUM] Decrease server health based on
http responses / events, version 3"). This may be backported everywhere.

(cherry picked from commit 64ba5ebadcd5d98e00989d08dfaa3c94c15196c9)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
(cherry picked from commit 4d45917e6e57c29e9cc7f1a3cb05f6e4212ee842)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
(cherry picked from commit 2e432f3a44a6730472732a56f78ed0c7bbb40684)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
(cherry picked from commit b14aa5943098cc3c21c01379f1fca12f3fb111bf)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
1 file changed