commit d7874e2b5e9072faac3655196f20a3f5d4880d36
Author: Andrew Beekhof <andrew@beekhof.net>
Date: Wed Aug 7 09:10:15 2013 +1000
Fix: crmd: Gracefully handle actions that cannot be initiated
(cherry picked from commit f02d6676bad129bee7175f31e810cf15f4786b70)
diff --git a/lib/transition/graph.c b/lib/transition/graph.c
index 401a976..1965dde 100644
--- a/lib/transition/graph.c
+++ b/lib/transition/graph.c
@@ -363,8 +363,13 @@ run_graph(crm_graph_t * graph)
} else if (should_fire_synapse(synapse)) {
crm_trace("Synapse %d fired", synapse->id);
graph->fired++;
- CRM_CHECK(fire_synapse(graph, synapse), stat_log_level = LOG_ERR;
- graph->abort_priority = INFINITY; graph->incomplete++; graph->fired--);
+ if(fire_synapse(graph, synapse) == FALSE) {
+ crm_err("Synapse %d failed to fire", synapse->id);
+ stat_log_level = LOG_ERR;
+ graph->abort_priority = INFINITY;
+ graph->incomplete++;
+ graph->fired--;
+ }
if (synapse->confirmed == FALSE) {
graph->pending++;