/* Cleanup ignored state request */
void
gcs_group_ignore_action (gcs_group_t* group, struct gcs_act_rcvd* act)
{
    if (act->act.type <= GCS_ACT_STATE_REQ) {
        gcs_gcache_free (group->cache, act->act.buf);
    }

    act->act.buf     = NULL;
    act->act.buf_len = 0;
    act->act.type    = GCS_ACT_ERROR;
    act->sender_idx  = -1;
    assert (GCS_SEQNO_ILL == act->id);
}
Ejemplo n.º 2
0
/*! Free resources associated with defrag (for lost node cleanup) */
static inline void
gcs_defrag_free (gcs_defrag_t* df)
{
#ifndef GCS_FOR_GARB
    if (df->head) {
        gcs_gcache_free (df->cache, df->head);
        // df->head, df->tail will be zeroed in gcs_defrag_init() below
    }
#else
    assert(NULL == df->head);
#endif

    gcs_defrag_init (df, df->cache);
}