chiark / gitweb /
service: fix minor memory leak
[elogind.git] / src / load-fragment.c
index 6a71d422f4a25e3030be26dee95d900fc0fabff7..394aa023f319599054997aee200d8f60dadfb7c5 100644 (file)
@@ -1690,7 +1690,13 @@ static int load_from_path(Unit *u, const char *path) {
                                 goto finish;
                         }
 
-                        if ((r = open_follow(&filename, &f, symlink_names, &id)) < 0) {
+                        if (u->meta.manager->unit_path_cache &&
+                            !set_get(u->meta.manager->unit_path_cache, filename))
+                                r = -ENOENT;
+                        else
+                                r = open_follow(&filename, &f, symlink_names, &id);
+
+                        if (r < 0) {
                                 char *sn;
 
                                 free(filename);