color.c
来自「linux集群服务器软件代码包」· C语言 代码 · 共 137 行
C
137 行
/* $Id: color.c,v 1.24 2005/02/19 18:11:04 andrew Exp $ *//* * Copyright (C) 2004 Andrew Beekhof <andrew@beekhof.net> * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This software is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */#include <sys/param.h>#include <crm/crm.h>#include <crm/cib.h>#include <crm/msg_xml.h>#include <crm/common/xml.h>#include <crm/common/msg.h>#include <glib.h>#include <pengine.h>#include <pe_utils.h>color_t *no_color = NULL;color_t *add_color(resource_t *rh_resource, color_t *color);gboolean apply_placement_constraints(GListPtr constraints, GListPtr nodes){ crm_verbose("Applying constraints..."); slist_iter( cons, rsc_to_node_t, constraints, lpc, cons->rsc_lh->fns->rsc_location(cons->rsc_lh, cons); ); return TRUE; }gbooleanapply_agent_constraints(GListPtr resources){ slist_iter( rsc, resource_t, resources, lpc, rsc->fns->agent_constraints(rsc); ); crm_trace("Finished applying RA restrictions"); return TRUE;}color_t *add_color(resource_t *resource, color_t *color){ color_t *local_color = NULL; if(color == NULL) { crm_err("Cannot add NULL color"); return NULL; } local_color = find_color(resource->candidate_colors, color); if(local_color == NULL) { crm_devel("Adding color %d", color->id); local_color = copy_color(color); resource->candidate_colors = g_list_append(resource->candidate_colors, local_color); } else { crm_devel("Color %d already present", color->id); } return local_color;}voidcolor_resource(resource_t *rsc, GListPtr *colors, GListPtr resources){ crm_devel_action(print_resource("Coloring", rsc, FALSE)); if(rsc->provisional == FALSE) { /* already processed this resource */ return; } rsc->rsc_cons = g_list_sort( rsc->rsc_cons, sort_cons_strength); crm_devel_action( print_resource("Pre-processing", rsc, FALSE)); /*------ Pre-processing */ slist_iter( constraint, rsc_dependancy_t, rsc->rsc_cons, lpc, crm_devel_action( print_rsc_dependancy( "Pre-Processing constraint", constraint,FALSE)); rsc->fns->rsc_dependancy_lh(constraint); ); /* avoid looping through lists when we know this resource * cant be started */ rsc->fns->color(rsc, colors); crm_devel_action( print_resource("Post-processing", rsc, TRUE)); /*------ Post-processing */ slist_iter( constraint, rsc_dependancy_t, rsc->rsc_cons, lpc, crm_devel_action( print_rsc_dependancy( "Post-Processing constraint",constraint,FALSE)); rsc->fns->rsc_dependancy_lh(constraint); ); crm_devel_action(print_resource("Colored", rsc, TRUE));}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?