[BUG] check timeout must not be changed if timeout.check is not set

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)
This commit is contained in:
Willy Tarreau 2008-12-21 13:00:41 +01:00
parent 8a5c626e73
commit 7cd9d94360

View 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;
}