int main(int argc, char *argv[])
{
- int ret = 0;
+ int ret = 0, err;
int c;
int i;
ret = load_list(BLACKLIST_CONF, &black_list);
}
if (ret != 0)
- return ret;
+ goto finish;
/* whitelist */
if (flags & FL_WHITE)
ret = load_list(wl_file, &white_list);
if (ret != 0)
- return ret;
+ goto finish;
/* print the header */
fprintf(of, "# Configuration file generated by cgsnapshot\n");
/* initialize libcgroup */
ret = cgroup_init();
-
- if (ret) {
+ if (ret)
/* empty configuration file */
- return ret;
- }
+ goto finish;
/* print mount points section */
ret = parse_mountpoints(wanted_cont, argv[0]);
+ /* continue with processing on error*/
/* print hierarchies section */
- ret = parse_controllers(wanted_cont, argv[0]);
+ /*replace error from parse_mountpoints() only with another error*/
+ err = parse_controllers(wanted_cont, argv[0]);
+ if (err)
+ ret = err;
+finish:
free_list(black_list);
free_list(white_list);