if(shutdown_escalation_timmer->period_ms < 1) {
if(shutdown_escalation_timer->period_ms < 1) {
do_read_config(long long action,	       enum crmd_fsa_cause cause,	       enum crmd_fsa_state cur_state,	       enum crmd_fsa_input current_input,	       void *data){	xmlNodePtr cib_copy = get_cib_copy();	xmlNodePtr config   = get_object_root(XML_CIB_TAG_CRMCONFIG, cib_copy);	xml_child_iter(		config, iter, XML_CIB_TAG_NVPAIR,		const char *name  = xmlGetProp(iter, XML_NVPAIR_ATTR_NAME);		const char *value = xmlGetProp(iter, XML_NVPAIR_ATTR_VALUE);		if(name == NULL || value == NULL) {			continue;					} else if(safe_str_eq(name, "dc_heartbeat")) {			dc_heartbeat->period_ms = atoi(value);					} else if(safe_str_eq(name, "dc_deadtime")) {			election_trigger->period_ms = atoi(value);		} else if(safe_str_eq(name, "shutdown_escalation")) {			shutdown_escalation_timmer->period_ms = atoi(value);		} else if(safe_str_eq(name, "join_reannouce")) {			fsa_join_reannouce = atoi(value);		}		);			if(dc_heartbeat->period_ms < 1) {		/* sensible default */		dc_heartbeat->period_ms = 1000;			}	if(election_trigger->period_ms < 1) {		/* sensible default */		election_trigger->period_ms = dc_heartbeat->period_ms * 4;			}	if(shutdown_escalation_timmer->period_ms < 1) {		/* sensible default */		shutdown_escalation_timmer->period_ms			= election_trigger->period_ms * 3 *10;/* 10 for testing */	}	if(fsa_join_reannouce < 0) {		fsa_join_reannouce = 100; /* how many times should we let					   * go by before reannoucning					   * ourselves to the DC					   */	}		election_timeout->period_ms   = dc_heartbeat->period_ms * 6;	integration_timer->period_ms  = dc_heartbeat->period_ms * 6;	finalization_timer->period_ms = dc_heartbeat->period_ms * 6;	return I_NULL;}