 crm_info("Quorum %s after event=%s (id=%d)", ccm_have_quorum(event)?"(re)attained":"lost", ccm_event_name(event), ((const oc_ev_membership_t *)data)->m_instance);  
crmd_ccm_msg_callback(	oc_ed_t event, void *cookie, size_t size, const void *data){	struct crmd_ccm_data_s *event_data = NULL;	crm_devel("received callback");		if(data != NULL) {		crm_malloc0(event_data, sizeof(struct crmd_ccm_data_s));		crm_info("Quorum %s after event=%s (id=%d)", 			 ccm_have_quorum(event)?"(re)attained":"lost",			 ccm_event_name(event),			 ((const oc_ev_membership_t *)data)->m_instance);		if(event_data != NULL) {			event_data->event = event;			/* Event_data could be a local variable if we			 * did the copying here.			 *			 * The reason why we can't without that change			 * is because of the 'const' attribute of 'data'.			 * FIXME??			 */			event_data->oc = copy_ccm_oc_data(				(const oc_ev_membership_t *)data);			crm_devel("Sending callback to the FSA");			register_fsa_input(				C_CCM_CALLBACK, I_CCM_EVENT,				(void*)event_data);			if (event_data->oc) {				crm_free(event_data->oc);				event_data->oc = NULL;			}			crm_free(event_data);		}	} else {		crm_info("CCM Callback with NULL data... "		       "I dont /think/ this is bad");	}		oc_ev_callback_done(cookie);		return;}
8182	/local/tlutelli/issta_data/temp/c/2005_temp/2005/8182/24dc5dcc9431338db2a9a3827691eb71d933206c/callbacks.c/clean/crm/crmd/callbacks.c