aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org.ua>2013-12-13 23:13:58 +0200
committerSergey Poznyakoff <gray@gnu.org.ua>2013-12-13 23:13:58 +0200
commit6944626b511d34a20d1ce1cc6320056af214ba33 (patch)
tree4ab59d76d4014afafea32f30fa42abe4788abdc6
parent7b3d93eb5ea07cfc3330105b1caa58fcd68076e6 (diff)
downloadjumper-6944626b511d34a20d1ce1cc6320056af214ba33.tar.gz
jumper-6944626b511d34a20d1ce1cc6320056af214ba33.tar.bz2
Undo decommission marks if configuration fails.
* src/config.c (config_finish): Call listeners_undo_decommission after configuration errors. * src/jumper.h (listeners_undo_decommission): New proto. * src/listener.c (listeners_undo_decommission): New function.
-rw-r--r--src/config.c3
-rw-r--r--src/jumper.h2
-rw-r--r--src/listener.c10
3 files changed, 12 insertions, 3 deletions
diff --git a/src/config.c b/src/config.c
index 05bcacd..c9004b7 100644
--- a/src/config.c
+++ b/src/config.c
@@ -833,6 +833,7 @@ config_finish(struct grecs_node *tree, int reconfig)
config.facility = newcfg.facility;
config.tag = newcfg.tag;
}
- }
+ } else if (reconfig)
+ listeners_undo_decommission();
return rc;
}
diff --git a/src/jumper.h b/src/jumper.h
index b1d7b83..744bb6d 100644
--- a/src/jumper.h
+++ b/src/jumper.h
@@ -234,7 +234,7 @@ void listeners_init(void);
void listeners_cleanup(void);
int listeners_run_action(int a);
void listeners_decommission(void);
-
+void listeners_undo_decommission(void);
extern listener_list_t llist;
extern listener_list_t clist;
diff --git a/src/listener.c b/src/listener.c
index de34fcd..9b15580 100644
--- a/src/listener.c
+++ b/src/listener.c
@@ -431,7 +431,15 @@ listeners_decommission()
lp = next;
}
}
-
+
+void
+listeners_undo_decommission()
+{
+ listener_t *lp;
+
+ for (lp = llist.head; lp; lp = lp->next)
+ lp->decommission = 0;
+}
void
listener_print_status(listener_t *lp)

Return to:

Send suggestions and report system problems to the System administrator.