ACK Reviewed-By: Christine Caulfield <ccaulfie@xxxxxxxxxx> On 02/03/12 11:02, Fabio M. Di Nitto wrote:
From: "Fabio M. Di Nitto"<fdinitto@xxxxxxxxxx> this is mostly to avoid valgrind errors on exit and make the output more readable. Signed-off-by: Fabio M. Di Nitto<fdinitto@xxxxxxxxxx> --- exec/votequorum.c | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 43 insertions(+), 0 deletions(-) diff --git a/exec/votequorum.c b/exec/votequorum.c index eda6daa..9209bdd 100644 --- a/exec/votequorum.c +++ b/exec/votequorum.c @@ -1668,14 +1668,57 @@ static void message_handler_req_exec_votequorum_reconfigure ( static int votequorum_exec_exit_fn (void) { int ret = 0; + struct cluster_node *node; + struct quorum_pd *qpd; + struct list_head *tmp; ENTER(); + /* + * tell the other nodes we are leaving + */ + if (leave_remove) { us->flags |= NODE_FLAGS_LEAVING; ret = votequorum_exec_send_nodeinfo(us->node_id); } + /* + * clean up our internals + */ + + /* + * free the node list and qdevice + */ + + if (qdevice) { + free(qdevice); + qdevice = NULL; + } + + list_iterate(tmp,&cluster_members_list) { + node = list_entry(tmp, struct cluster_node, list); + if (node) { + list_del(tmp); + free(node); + node = NULL; + } + } + + us = NULL; + + /* + * clean the tracking list + * should we notify that service is going away? + */ + + list_iterate(tmp,&trackers_list) { + qpd = list_entry(tmp, struct quorum_pd, list); + if (qpd) { + list_del(tmp); + } + } + LEAVE(); return ret; }
_______________________________________________ discuss mailing list discuss@xxxxxxxxxxxx http://lists.corosync.org/mailman/listinfo/discuss