diff --git a/src/haproxy.c b/src/haproxy.c index c6d1505d9..2612e29b9 100644 --- a/src/haproxy.c +++ b/src/haproxy.c @@ -1769,7 +1769,10 @@ int main(int argc, char **argv) if (global.rlimit_nofile) { limit.rlim_cur = limit.rlim_max = global.rlimit_nofile; if (setrlimit(RLIMIT_NOFILE, &limit) == -1) { - Warning("[%s.main()] Cannot raise FD limit to %d.\n", argv[0], global.rlimit_nofile); + /* try to set it to the max possible at least */ + getrlimit(RLIMIT_NOFILE, &limit); + Warning("[%s.main()] Cannot raise FD limit to %d, limit is %d.\n", argv[0], global.rlimit_nofile, (int)limit.rlim_cur); + global.rlimit_nofile = limit.rlim_cur; } }