tree 9e6d52b97ec60b3de122e711914e321cabd964d4
parent 55d2e8577e5ae0e7ac0cdbf5201b4836b5d7ad3c
author Willy Tarreau <w@1wt.eu> 1663855727 +0200
committer Willy Tarreau <w@1wt.eu> 1664865527 +0200
encoding latin1

MINOR: fd: add a new function to only raise RLIMIT_NOFILE

In issue #1866 an issue was reported under docker, by which a user cannot
lower the number of FD needed. It looks like a restriction imposed in this
environment, but it results in an error while it ought not have to in the
case of shrinking.

This patch adds a new function raise_rlim_nofile() that takes the desired
new setting, compares it to the current one, and only calls setrlimit() if
one of the values in the new setting is larger than the older one. As such
it will continue to emit warnings and errors in case of failure to raise
the limit but will never shrink it.

This patch is only preliminary to another one, but will have to be
backported where relevant (likely only 2.6).
