Revert "bootchart: use _cleanup_close_"

This reverts commit 0ea9530d40.

attribute(cleanup) can only be used inside functions (*of, sysfd
are leaked).

Cleanup functions are only called once when exiting scope (*f
is leaked twice).
This commit is contained in:
Zbigniew Jędrzejewski-Szmek 2013-03-07 15:28:03 -05:00
parent db7f1dde30
commit 1f3523baf7
2 changed files with 9 additions and 4 deletions

View file

@ -66,10 +66,10 @@ struct cpu_stat_struct cpustat[MAXCPUS];
int pscount;
int cpus;
double interval;
FILE _cleanup_fclose_ *of = NULL;
FILE *of = NULL;
int overrun = 0;
static int exiting = 0;
int _cleanup_close_ sysfd=-1;
int sysfd=-1;
/* graph defaults */
bool entropy = false;
@ -106,7 +106,7 @@ int main(int argc, char *argv[])
char datestr[200];
time_t t = 0;
const char *fn;
_cleanup_fclose_ FILE *f = NULL;
_cleanup_fclose_ FILE *f;
int gind;
int i, r;
char *init = NULL, *output = NULL;
@ -378,8 +378,10 @@ int main(int argc, char *argv[])
svg_do(build);
fprintf(stderr, "systemd-bootchart wrote %s\n", output_file);
fclose(of);
closedir(proc);
close(sysfd);
/* nitpic cleanups */
ps = ps_first;

View file

@ -150,7 +150,7 @@ static void svg_title(const char *build)
char date[256] = "Unknown";
char cpu[256] = "Unknown";
char *c;
FILE _cleanup_fclose_ *f = NULL;
FILE *f;
time_t t;
int fd;
struct utsname uts;
@ -161,6 +161,7 @@ static void svg_title(const char *build)
if (f) {
if (!fgets(cmdline, 255, f))
sprintf(cmdline, "Unknown");
fclose(f);
}
/* extract root fs so we can find disk model name in sysfs */
@ -175,6 +176,7 @@ static void svg_title(const char *build)
if (f) {
if (!fgets(model, 255, f))
fprintf(stderr, "Error reading disk model for %s\n", rootbdev);
fclose(f);
}
}
@ -196,6 +198,7 @@ static void svg_title(const char *build)
break;
}
}
fclose(f);
}
svg("<text class=\"t1\" x=\"0\" y=\"30\">Bootchart for %s - %s</text>\n",