master: Set our own rlimit for number of fds

We should never open more than 1024 file descriptors anyway, and under some
situations, namely running as root or in docker, would give us huge
allowances. This then results in a huge, unneeded, cleanup for subprocesses,
which we use a lot.

Fixes #2977
This commit is contained in:
Christian Decker
2019-09-25 18:50:28 +02:00
committed by Rusty Russell
parent 6999a4ce2d
commit 07e6f43e1d

View File

@@ -76,6 +76,7 @@
#include <lightningd/options.h>
#include <onchaind/onchain_wire.h>
#include <signal.h>
#include <sys/resource.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <unistd.h>
@@ -630,6 +631,11 @@ int main(int argc, char *argv[])
struct timers *timers;
const char *stop_response;
struct htlc_in_map *unprocessed_htlcs;
struct rlimit nofile = {1024, 1024};
/*~ Make sure that we limit ourselves to something reasonable. Modesty
* is a virtue. */
setrlimit(RLIMIT_NOFILE, &nofile);
/*~ What happens in strange locales should stay there. */
setup_locale();