corosync/corosync-cpg-procdown.patch

14 lines
579 B
Diff

Index: corosync-1.4.1/services/cpg.c
===================================================================
--- corosync-1.4.1.orig/services/cpg.c
+++ corosync-1.4.1/services/cpg.c
@@ -870,7 +870,7 @@ static int cpg_lib_exit_fn (void *conn)
log_printf(LOGSYS_LEVEL_DEBUG, "exit_fn for conn=%p\n", conn);
- if (cpd->group_name.length > 0) {
+ if (cpd->group_name.length > 0 && cpd->cpd_state != CPD_STATE_LEAVE_STARTED) {
result = cpg_node_joinleave_send (cpd->pid, &cpd->group_name,
MESSAGE_REQ_EXEC_CPG_PROCLEAVE, CONFCHG_CPG_REASON_PROCDOWN);
if (result == -1) {