aboutsummaryrefslogtreecommitdiff
path: root/src/comp.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/comp.c')
-rw-r--r--src/comp.c20
1 files changed, 13 insertions, 7 deletions
diff --git a/src/comp.c b/src/comp.c
index 5613e28..6a0e4ba 100644
--- a/src/comp.c
+++ b/src/comp.c
@@ -352,3 +352,11 @@ component_config_rollback (void)
352} 352}
353
354/* Return true if PROG is a leftover from previous configuration */
355static int
356prog_is_leftover (struct prog *prog)
357{
358 return IS_COMPONENT (prog) && !component_is_active (prog->v.p.comp);
359}
353 360
361/* If PROG is a leftover, gracefully stop it and mark as disabled */
354static int 362static int
@@ -356,7 +364,4 @@ cb_terminate_prog (struct prog *prog, void *data)
356{ 364{
357 if (IS_COMPONENT (prog) && !component_is_active (prog->v.p.comp)) 365 if (prog_is_leftover (prog))
358 { 366 progman_stop_component (&prog);
359 progman_stop_component (prog);
360 prog->v.p.comp->flags |= CF_DISABLED;
361 }
362 return 0; 367 return 0;
@@ -364,2 +369,3 @@ cb_terminate_prog (struct prog *prog, void *data)
364 369
370/* If PROG is a leftover, slay it with SIGKILL */
365static int 371static int
@@ -367,3 +373,3 @@ cb_kill_prog (struct prog *prog, void *data)
367{ 373{
368 if (!(IS_COMPONENT (prog) && component_is_active (prog->v.p.comp))) 374 if (prog_is_leftover (prog))
369 prog_stop (prog, SIGKILL); 375 prog_stop (prog, SIGKILL);
@@ -511,3 +517,3 @@ component_config_commit (void)
511 } 517 }
512 518
513 /* Build dependency map */ 519 /* Build dependency map */

Return to:

Send suggestions and report system problems to the System administrator.