path: root/src/comp.c
authorSergey Poznyakoff <>2016-02-13 19:27:11 (GMT)
committer Sergey Poznyakoff <>2016-02-13 19:46:32 (GMT)
commitc9581808b72ff25623c87cf49c471ce7f017985d (patch) (side-by-side diff)
tree3b6c7143eec966561e24c05ffb87e1d55b4acf58 /src/comp.c
parent3c774556e22cd30c42304614e14218a767e4d700 (diff)
Stop disabled components when switching runlevels.
* src/prog.h (status_enabled, status_disabled): Remove. (status_stopped, status_running): New modes. All uses updated. * src/comp.c (component_finish): Disable ondemand component by default. * src/ctl.c (json_object_set_bool): New function. (pies_status_str): Update. (prog_serialize): Set "disabled" attribute. (fun_stop, fun_start): Use CF_DISABLED flag. (res_runlevel): Schedule ACTION_RELOAD. * src/pies.h (json_object_set_bool): New proto. * src/piesctl.c (status_trans): Reflect changes in modes. (print_comp): Check the "disabled" attribute. * src/progman.c (register_prog0) (prog_open_socket,prog_start,prog_stop) (progman_wake_sleeping) (prog_start_prerequisites) (react, progman_cleanup) (progman_stop_component): Update. (no_children_left): Fix. * src/sysvinit.c (enablecomp): Make CF_DISABLED flag persist for ondemand components. (runlevel_setup_prog): Use CF_DISABLED flag. (inittrans): Stop inactivated processes. * doc/pies.texi: Update.
Diffstat (limited to 'src/comp.c') (more/less context) (ignore whitespace changes)
1 files changed, 3 insertions, 0 deletions
diff --git a/src/comp.c b/src/comp.c
index 6a0e4ba..83818c2 100644
--- a/src/comp.c
+++ b/src/comp.c
@@ -729,6 +729,9 @@ component_finish (struct component *comp, grecs_locus_t *locus)
comp->prereq = NULL;
+ if (comp->mode == pies_comp_ondemand)
+ comp->flags |= CF_DISABLED;

Return to:

Send suggestions and report system problems to the System administrator.