diff --git a/src/haproxy.c b/src/haproxy.c index 887c162e8..156545d2a 100644 --- a/src/haproxy.c +++ b/src/haproxy.c @@ -851,7 +851,8 @@ int main(int argc, char **argv) while (retry >= 0) { struct timeval w; err = start_proxies(retry == 0 || nb_oldpids == 0); - if (err != ERR_RETRYABLE) + /* exit the loop on no error or fatal error */ + if ((err & (ERR_RETRYABLE|ERR_FATAL)) != ERR_RETRYABLE) break; if (nb_oldpids == 0) break;