} else if(cur_state != S_INTEGRATION) { crm_err("Broken? Voting in state %s", fsa_state2string(cur_state)); }
do_election_vote(long long action,		 enum crmd_fsa_cause cause,		 enum crmd_fsa_state cur_state,		 enum crmd_fsa_input current_input,		 fsa_data_t *msg_data){	gboolean not_voting = FALSE;	HA_Message *vote = NULL;		/* dont vote if we're in one of these states or wanting to shut down */	switch(cur_state) {		case S_RECOVERY:		case S_STOPPING:		case S_TERMINATE:			crm_warn("Not voting in election, we're in state %s",				 fsa_state2string(cur_state));			not_voting = TRUE;			break;		default:			break;	}	if(not_voting == FALSE) {		if(is_set(fsa_input_register, R_STARTING)) {			not_voting = TRUE;		}	}		if(not_voting) {		fsa_cib_conn->cmds->set_slave(fsa_cib_conn, cib_scope_local);		if(AM_I_DC) {			register_fsa_input(C_FSA_INTERNAL, I_RELEASE_DC, NULL);		} else {			register_fsa_input(C_FSA_INTERNAL, I_PENDING, NULL);		}		return I_NULL;	}		vote = create_request(		CRM_OP_VOTE, NULL, NULL,		CRM_SYSTEM_CRMD, CRM_SYSTEM_CRMD, NULL);	if(is_set(fsa_input_register, R_SHUTDOWN)) {		crm_warn("Not voting in election, we're shutting down");		cl_msg_remove(vote, F_CRM_VERSION);	}	send_request(vote, NULL);	crm_timer_start(election_timeout);			return I_NULL;}