[BUG] do not apply timeout.connect in checks if unset
tv_bound() does not consider infinite timeouts, so we must
check that timeout.connect is set before applying it to the
checks.
diff --git a/src/checks.c b/src/checks.c
index 0fbe166..1a5bf71 100644
--- a/src/checks.c
+++ b/src/checks.c
@@ -496,11 +496,12 @@
* to establish but only when timeout.check is set
* as it may be to short for a full check otherwise
*/
- tv_add(&tv_con, &now, &s->proxy->timeout.connect);
tv_ms_add(&t->expire, &now, s->inter);
- if (tv_isset(&s->proxy->timeout.check))
+ if (tv_isset(&s->proxy->timeout.check) && tv_isset(&s->proxy->timeout.connect)) {
+ tv_add(&tv_con, &now, &s->proxy->timeout.connect);
tv_bound(&t->expire, &tv_con);
+ }
task_queue(t); /* restore t to its place in the task list */
*next = t->expire;