[systemd-commits] src/bootchart
Lennart Poettering
lennart at kemper.freedesktop.org
Mon Mar 11 14:54:42 PDT 2013
src/bootchart/bootchart.c | 11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-)
New commits:
commit 361514aca147f8826811c23cfac40c6ac995dfeb
Author: Lennart Poettering <lennart at poettering.net>
Date: Mon Mar 11 22:54:36 2013 +0100
bootchart: bump RLIMIT_NOFILE only after we forked us off, so that the init system inherits the kernel default
diff --git a/src/bootchart/bootchart.c b/src/bootchart/bootchart.c
index a722b2a..e608af2 100644
--- a/src/bootchart/bootchart.c
+++ b/src/bootchart/bootchart.c
@@ -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) {
More information about the systemd-commits
mailing list