X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fsysctl.c;h=76ce9d864067f196f29e6c3327215d5a6cfe8d39;hb=88bb8d215aa0f5576eb3f9c77c30cdc4b17783fe;hp=1d42e9378b7d060d4c1dcd912dc00b123144c33b;hpb=db1413d7380acacc4e50faf801ca0d401da89764;p=elogind.git diff --git a/src/sysctl.c b/src/sysctl.c index 1d42e9378..76ce9d864 100644 --- a/src/sysctl.c +++ b/src/sysctl.c @@ -138,13 +138,18 @@ int main(int argc, char *argv[]) { else { char **files, **f; - r = apply_file("/etc/sysctl.conf", true); - files = conf_files_list(".conf", - "/run/sysctl.d", - "/etc/sysctl.d", - "/usr/lib/sysctl.d", - NULL); + r = conf_files_list(&files, ".conf", + "/run/sysctl.d", + "/etc/sysctl.d", + "/usr/local/lib/sysctl.d", + "/usr/lib/sysctl.d", + "/lib/sysctl.d", + NULL); + if (r < 0) { + log_error("Failed to enumerate sysctl.d files: %s", strerror(-r)); + goto finish; + } STRV_FOREACH(f, files) { int k; @@ -154,8 +159,10 @@ int main(int argc, char *argv[]) { r = k; } + apply_file("/etc/sysctl.conf", true); + strv_free(files); } - +finish: return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS; }