CRM_DEBUG("Am I still the DC? %s", AM_I_DC?"yes":"no");
CRM_DEBUG("Am I still the DC? %s", AM_I_DC?XML_BOOLEAN_YES:XML_BOOLEAN_NO);
do_dc_release(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;	FNIN();	CRM_DEBUG("################## Releasing the DC ##################");	stopTimer(dc_heartbeat);	if(action & A_DC_RELEASE) {		clear_bit_inplace(&fsa_input_register, R_THE_DC);				/* get a new CIB from the new DC */		clear_bit_inplace(&fsa_input_register, R_HAVE_CIB);	} else if (action & A_DC_RELEASED) {		if(cur_state == S_STOPPING) {			result = I_SHUTDOWN; // necessary?			result = I_RELEASE_SUCCESS;		}#if 0		else if( are there errors ) {			// we cant stay up if not healthy			// or perhaps I_ERROR and go to S_RECOVER?			result = I_SHUTDOWN;		}#endif		else			result = I_RELEASE_SUCCESS;	} else {		cl_log(LOG_ERR, "Warning, do_dc_release invoked for action %s",		       fsa_action2string(action));	}	CRM_DEBUG("Am I still the DC? %s", AM_I_DC?"yes":"no");	FNRET(result);}