I was playing with file descriptor limits to test another issue saw the following warning printed when I had configured a file descriptor limit of 150:
0Warning: Reducing -maxconnections from 125 to -9, because of system limitations.
The warning could have been resolved with a one-line change but I found the surrounding code hard to reason about at first, so I added a few comments and reorganized the code a bit for better clarity.
Aside from the warning there is one further behavior change: If the limitation of file descriptors prevents the node from making any connections the node doesn’t start unless the user has explicitly set -maxconnections
to 0. This is not just about the node not being able to make connections: When I started the node right at the limit I wasn’t able to shut it down cleanly any more several times and instead had to kill the process manually. So this shouldn’t be anything normal users should be able to run into.