Set RLIMIT_CORE to 0, infinity in builders

This prevents the builder from being affected by whatever the host
system limits happen to be.
This commit is contained in:
Eelco Dolstra 2016-04-14 13:39:14 +02:00
parent 12b257f045
commit 3c1c6b8f00

View file

@ -22,6 +22,7 @@
#include <sys/stat.h>
#include <sys/utsname.h>
#include <sys/select.h>
#include <sys/resource.h>
#include <fcntl.h>
#include <unistd.h>
#include <errno.h>
@ -2373,6 +2374,12 @@ void DerivationGoal::runChild()
if (cur != -1) personality(cur | ADDR_NO_RANDOMIZE);
#endif
/* Disable core dumps by default. */
struct rlimit limit = { 0, RLIM_INFINITY };
setrlimit(RLIMIT_CORE, &limit);
// FIXME: set other limits to deterministic values?
/* Fill in the environment. */
Strings envStrs;
for (auto & i : env)