stopTimer(election_timeout);
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;	xmlNodePtr msg_options = NULL;	enum crmd_fsa_input election_result = I_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_RELEASE_DC:		case S_TERMINATE:			crm_warn("Not voting in election, we're in state %s",				 fsa_state2string(cur_state));			not_voting = TRUE;			break;		default: 			if(is_set(fsa_input_register, R_SHUTDOWN)) {				crm_warn("Not voting in election,"					 " we're shutting down");				not_voting = TRUE;			}			break;	}	if(not_voting == FALSE) {		if(is_set(fsa_input_register, R_STARTING)) {			not_voting = TRUE;		}	}	if(not_voting) {		stopTimer(election_timeout);		if(AM_I_DC) {			return I_RELEASE_DC;		} else {			return I_NOT_DC;		}	}		msg_options = create_xml_node(NULL, XML_TAG_OPTIONS);	set_xml_property_copy(msg_options, XML_ATTR_VERSION, CRM_VERSION);		send_request(msg_options, NULL, CRM_OP_VOTE,		     NULL, CRM_SYSTEM_CRMD, NULL);	startTimer(election_timeout);				return election_result;}