diff options
author | Sergey Poznyakoff <gray@gnu.org> | 2019-05-24 13:51:39 +0300 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org> | 2019-05-24 14:08:17 +0300 |
commit | 2ba31eb953d18bb818a87caddcbca80bc8a1d37d (patch) | |
tree | 402aa4fbf3c65c2dea874f48ade2f74f5f863558 /src/comp.c | |
parent | 6dd0ec08db301984b8f8f9082f28006d5915c183 (diff) | |
download | pies-2ba31eb953d18bb818a87caddcbca80bc8a1d37d.tar.gz pies-2ba31eb953d18bb818a87caddcbca80bc8a1d37d.tar.bz2 |
Don't remove finished startup components. Just mark them with status_finished.
* src/ctl.c (pies_comp_mode_str): Add pies_comp_startup
and pies_comp_shutdown.
* src/piesctl.c (mode_trans): Likewise.
* src/progman.c (progman_startup_phase): Test the status of
pies_comp_startup components.
(progman_waiting_p): Test status instead of pid>0 to select running
components.
(progman_cleanup): Set status of the finished startup
component to status_finished, instead of removing it.
* src/comp.c (loaded): Remove unused variable.
(component_config_commit): Remove special handling for pies_comp_startup.
Diffstat (limited to 'src/comp.c')
-rw-r--r-- | src/comp.c | 23 |
1 files changed, 1 insertions, 22 deletions
@@ -24,11 +24,6 @@ struct complist 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; @@ -540,16 +535,7 @@ component_config_commit (void) 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) @@ -563,12 +549,7 @@ component_config_commit (void) } 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]; @@ -585,8 +566,6 @@ component_config_commit (void) for (comp = comp_list[cur].head; comp; comp = comp->next) if (!comp->prog) register_prog (comp); - - loaded = 1; } static int |