put_message(xml_message);
do_msg_route(long long action,	     enum crmd_fsa_cause cause,	     enum crmd_fsa_state cur_state,	     enum crmd_fsa_input current_input,	     void *data){	enum crmd_fsa_input result = I_NULL;	xmlNodePtr xml_message = (xmlNodePtr)data;	gboolean routed = FALSE, defer = TRUE, do_process = TRUE;	FNIN();#if 0//	if(cause == C_IPC_MESSAGE) {		if (crmd_authorize_message(root_xml_node,					   msg,					   curr_client) == FALSE) {			CRM_DEBUG("Message not authorized");			do_process = FALSE;		}//	}#endif	if(do_process) {		/* try passing the buck first */		routed = relay_message(xml_message, cause==C_IPC_MESSAGE);		if(routed == FALSE) {			defer = TRUE;			/* calculate defer */			result = handle_message(xml_message);			switch(result) {				case I_NULL:					defer = FALSE;					break;				case I_DC_HEARTBEAT:					defer = FALSE;					break;					/* what else should go here? */				default:					CRM_DEBUG("Defering local processing of message");					result = I_REQUEST;					break;			}		} 	}		FNRET(result);}