crm_debug_3("\tChecking action %d", other->action->id); if(action->optional && other->action->optional == FALSE) {
crm_debug_3("\tChecking action %d: %s/%s", other->action->id, ordering_type2text(other->type), other->action->optional?"optional":"required"); if(action->optional == FALSE && other->type == pe_ordering_manditory && other->action->optional) {
update_action(action_t *action){	gboolean change = FALSE;	crm_debug_3("Processing action %d", action->id);	slist_iter(		other, action_wrapper_t, action->actions_before, lpc,		crm_debug_3("\tChecking action %d", other->action->id);		if(action->optional		   && other->action->optional == FALSE) {			change = TRUE;			action->optional = FALSE;			crm_debug_2("Marking action %d manditory because of %d",				  action->id, other->action->id);			update_action(other->action);		}		);	slist_iter(		other, action_wrapper_t, action->actions_after, lpc,		if(action->pseudo == FALSE		   && action->runnable == FALSE		   && action->optional == FALSE) {			if(other->action->runnable == FALSE) {				crm_debug_2("Action %d already un-runnable",					  other->action->id);				continue;			} else {				change = TRUE;				other->action->runnable =FALSE;				crm_debug_2("Marking action %d un-runnable"					  " because of %d",					  other->action->id, action->id);				update_action(other->action);			}		}