bootchart: bump RLIMIT_NOFILE only after we forked us off, so that the init system inherits the kernel default

This commit is contained in:
Lennart Poettering 2013-03-11 22:54:36 +01:00
parent 6d031c0b60
commit 361514aca1

View file

@ -90,8 +90,6 @@ double arg_scale_y = 20.0; /* 16px = 1 process bar */
char arg_init_path[PATH_MAX] = "/sbin/init";
char arg_output_path[PATH_MAX] = "/run/log";
static struct rlimit rlim;
static void signal_handler(int sig) {
if (sig++)
sig--;
@ -110,6 +108,7 @@ int main(int argc, char *argv[]) {
int gind;
int i, r;
char *init = NULL, *output = NULL;
struct rlimit rlim;
const ConfigTableItem items[] = {
{ "Bootchart", "Samples", config_parse_int, 0, &arg_samples_len },
@ -125,10 +124,6 @@ int main(int argc, char *argv[]) {
{ NULL, NULL, NULL, 0, NULL }
};
rlim.rlim_cur = 4096;
rlim.rlim_max = 4096;
(void) setrlimit(RLIMIT_NOFILE, &rlim);
fn = "/etc/systemd/bootchart.conf";
f = fopen(fn, "re");
if (f) {
@ -260,6 +255,10 @@ int main(int argc, char *argv[]) {
}
argv[0][0] = '@';
rlim.rlim_cur = 4096;
rlim.rlim_max = 4096;
(void) setrlimit(RLIMIT_NOFILE, &rlim);
/* start with empty ps LL */
ps_first = calloc(1, sizeof(struct ps_struct));
if (!ps_first) {