]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
[BUG] check timeout must not be changed if timeout.check is not set
authorWilly Tarreau <w@1wt.eu>
Sun, 21 Dec 2008 12:00:41 +0000 (13:00 +0100)
committerWilly Tarreau <w@1wt.eu>
Tue, 23 Dec 2008 08:58:49 +0000 (09:58 +0100)
This causes health checks to stop after some time since the new
ticks-based scheduler because a check timeout is set to eternity.
This fix must be merged into master but not in earlier versions
as it only affects the new scheduler.
(cherry picked from commit e349eb452b655dc1adc059f05ba8b36565753393)

src/checks.c

index 7140be4037a9d42354e91db179f49c6c5c2b52f5..d6ce3355e16ff2c0a9506386a644b247b2a51bb0 100644 (file)
@@ -364,7 +364,8 @@ static int event_srv_chk_w(int fd)
 #endif
                        if (ret == s->proxy->check_len) {
                                /* we allow up to <timeout.check> if nonzero for a responce */
-                               t->expire = tick_add_ifset(now_ms, s->proxy->timeout.check);
+                               if (s->proxy->timeout.check)
+                                       t->expire = tick_add_ifset(now_ms, s->proxy->timeout.check);
                                EV_FD_SET(fd, DIR_RD);   /* prepare for reading reply */
                                goto out_nowake;
                        }