From b8589392f16a539cac6bc04f08f70b70c79680e6 Mon Sep 17 00:00:00 2001 From: Steven Dake Date: Fri, 31 Mar 2006 19:55:52 +0000 Subject: [PATCH] defect 1172 checkpoint service asserts under load during configuration changes git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@962 fd59a12c-fef9-0310-b244-a6a79926bd2f --- exec/ckpt.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/exec/ckpt.c b/exec/ckpt.c index 5e812c02..411ee68e 100644 --- a/exec/ckpt.c +++ b/exec/ckpt.c @@ -862,6 +862,7 @@ static int ckpt_recovery_process (void) struct saCkptCheckpointSection *ckptCheckpointSection; SaSizeT origSectionSize; SaSizeT newSectionSize; + int res; if (recovery_abort) { /*Abort was called.*/ goto recovery_exit_clean; @@ -953,8 +954,8 @@ static int ckpt_recovery_process (void) * Check to see if we can queue the new message and if you can * then mcast the message else break and create callback. */ - if (totempg_groups_send_ok_joined (openais_group_handle, iovecs, 2)) { - assert (totempg_groups_mcast_joined (openais_group_handle, iovecs, 2, TOTEMPG_AGREED) == 0); + res = totempg_groups_mcast_joined (openais_group_handle, iovecs, 2, TOTEMPG_AGREED); + if (res == 0) { log_printf (LOG_LEVEL_DEBUG, "CKPT: Multicasted Sync State Message.\n"); } else { @@ -1029,11 +1030,11 @@ static int ckpt_recovery_process (void) * Check to see if we can queue the new message and if you can * then mcast the message else break and create callback. */ - if (totempg_groups_send_ok_joined (openais_group_handle, iovecs, 2)) { - assert (totempg_groups_mcast_joined (openais_group_handle, iovecs, 3, TOTEMPG_AGREED) == 0); + + res = totempg_groups_mcast_joined (openais_group_handle, iovecs, 3, TOTEMPG_AGREED); + if (res == 0) { log_printf (LOG_LEVEL_DEBUG, "CKPT: Multicasted Sync Section Message.\n"); - } - else { + } else { log_printf (LOG_LEVEL_DEBUG, "CKPT: Sync Section Message Outbound Queue full need to Wait for Callback.\n"); return (1); }