diff options
Diffstat (limited to 'src/comp.c')
-rw-r--r-- | src/comp.c | 23 |
1 files changed, 1 insertions, 22 deletions
@@ -21,17 +21,12 @@ struct complist { struct component *head; struct component *tail; }; -/* 0 on the first load, and 1 on all subsequent reloads. Tells the - component_config_commit whether we're starting from scratch or just - updating an already loaded configuration */ -static int loaded; - static struct complist comp_list[2]; static int cur; static struct component **comp_array; static size_t comp_count; @@ -537,22 +532,13 @@ component_config_commit (void) } else comp_array = grecs_realloc (comp_array, i * sizeof (comp_array[0])); comp_count = i; /* Rearrange components, registering entries for the new ones */ - for (comp = list->head, i = 0; comp; ) - { - struct component *next = comp->next; - if (loaded && comp->mode == pies_comp_startup) - { - /* Ignore startup components */ - component_unlink (comp); - component_free (comp); - } - else + for (comp = list->head, i = 0; comp; comp = comp->next, i++) { match = complist_find_match (prev, comp); if (match) { component_merge (match, comp); component_unlink (match); @@ -560,18 +546,13 @@ component_config_commit (void) component_link (match, comp->prev); component_free (comp); comp = match; } comp_array[i] = comp; comp->arridx = i; - i++; } - comp = next; - } - /* Adjust comp_count */ - comp_count = i; /* Mark orphaned progs for termination */ list = &comp_list[prev]; if (list->head) { progman_foreach (mark_prog, NULL); @@ -582,14 +563,12 @@ component_config_commit (void) component_build_depmap (); /* Register new progs */ for (comp = comp_list[cur].head; comp; comp = comp->next) if (!comp->prog) register_prog (comp); - - loaded = 1; } static int component_verify (struct component *comp, grecs_locus_t *locus) { int header = 0; |