]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
core: move flushing of generated unit files to path-lookup.c
authorLennart Poettering <lennart@poettering.net>
Wed, 6 Apr 2016 18:47:44 +0000 (20:47 +0200)
committerLennart Poettering <lennart@poettering.net>
Tue, 12 Apr 2016 11:43:31 +0000 (13:43 +0200)
It's very similar to the mkdir and trim operations for the generator dirs,
hence let's unify this at a single place.

src/core/manager.c
src/shared/path-lookup.c
src/shared/path-lookup.h

index b1f79e014eed29658ca6d31fa67f076b53f65cc5..6ce3e404c9649e66a465bdbbf7c87750c6b55366 100644 (file)
@@ -100,7 +100,6 @@ static int manager_dispatch_idle_pipe_fd(sd_event_source *source, int fd, uint32
 static int manager_dispatch_jobs_in_progress(sd_event_source *source, usec_t usec, void *userdata);
 static int manager_dispatch_run_queue(sd_event_source *source, void *userdata);
 static int manager_run_generators(Manager *m);
-static void manager_undo_generators(Manager *m);
 
 static void manager_watch_jobs_in_progress(Manager *m) {
         usec_t next;
@@ -930,7 +929,7 @@ Manager* manager_free(Manager *m) {
          * around */
         manager_shutdown_cgroup(m, m->exit_code != MANAGER_REEXECUTE);
 
-        manager_undo_generators(m);
+        lookup_paths_flush_generator(&m->lookup_paths);
 
         bus_done(m);
 
@@ -2522,7 +2521,7 @@ int manager_reload(Manager *m) {
 
         /* From here on there is no way back. */
         manager_clear_jobs_and_units(m);
-        manager_undo_generators(m);
+        lookup_paths_flush_generator(&m->lookup_paths);
         lookup_paths_free(&m->lookup_paths);
 
         q = lookup_paths_init(&m->lookup_paths, m->unit_file_scope, NULL);
@@ -2750,17 +2749,6 @@ finish:
         return r;
 }
 
-static void manager_undo_generators(Manager *m) {
-        assert(m);
-
-        if (m->lookup_paths.generator)
-                (void) rm_rf(m->lookup_paths.generator, REMOVE_ROOT);
-        if (m->lookup_paths.generator_early)
-                (void) rm_rf(m->lookup_paths.generator_early, REMOVE_ROOT);
-        if (m->lookup_paths.generator_late)
-                (void) rm_rf(m->lookup_paths.generator_late, REMOVE_ROOT);
-}
-
 int manager_environment_add(Manager *m, char **minus, char **plus) {
         char **a = NULL, **b = NULL, **l;
         assert(m);
index 0735e3b4f52809891199776705e266f378ed62a4..685ae895d2049104db0322baa576dcc66a1de35b 100644 (file)
@@ -726,3 +726,14 @@ void lookup_paths_trim_generator(LookupPaths *p) {
         if (p->generator_late)
                 (void) rmdir(p->generator_late);
 }
+
+void lookup_paths_flush_generator(LookupPaths *p) {
+        assert(p);
+
+        if (p->generator)
+                (void) rm_rf(p->generator, REMOVE_ROOT);
+        if (p->generator_early)
+                (void) rm_rf(p->generator_early, REMOVE_ROOT);
+        if (p->generator_late)
+                (void) rm_rf(p->generator_late, REMOVE_ROOT);
+}
index 03f103dcc09536efe6f66f8d57a27638995affd3..d151347a1b721809ca8116e3694a837687d6bbe6 100644 (file)
@@ -53,6 +53,7 @@ int lookup_paths_reduce(LookupPaths *p);
 
 int lookup_paths_mkdir_generator(LookupPaths *p);
 void lookup_paths_trim_generator(LookupPaths *p);
+void lookup_paths_flush_generator(LookupPaths *p);
 
 void lookup_paths_free(LookupPaths *p);
 #define _cleanup_lookup_paths_free_ _cleanup_(lookup_paths_free)