gboolean failed = initiate_action(matched_action_list); 
gboolean passed = initiate_action(matched_action_list); 
process_graph_event(const char *event_node,		    const char *event_rsc, 		    const char *event_action, 		    const char *event_status, 		    const char *event_rc){	int lpc;	xmlNodePtr action        = NULL; // <rsc_op> or <crm_event>	xmlNodePtr next_action   = NULL;	action_list_t *matched_action_list = NULL;// Find the action corresponding to this event	slist_iter(		action_list, action_list_t, graph, lpc,		action = g_slist_nth_data(action_list->actions,					  action_list->index);		if(action == NULL) {			continue;		}/*		<rsc_op id= runnable= optional= task= on_node= >			<resource id="rsc3" priority="3.0"/>		</rsc_op>*/		const char *this_action = xmlGetProp(action, "task");		const char *this_node   = xmlGetProp(action, "on_node");		const char *this_rsc    = xmlGetProp(action->children, "id");		if(safe_str_neq(this_node, event_node)) {			continue;		} else if(safe_str_neq(this_action, event_action)) {			continue;					} else if(safe_str_eq(action->name, "rsc_op")			  && safe_str_eq(this_rsc, event_rsc)) {			matched_action_list = action_list;		} else if(safe_str_eq(action->name, "crm_event")) {			matched_action_list = action_list;		}		);				// for the moment all actions succeed		if(matched_action_list == NULL) {		// unexpected event, trigger a pe-recompute		// possibly do this only for certain types of actions		send_abort();		return FALSE;	}	gboolean more_to_do = FALSE;	while(matched_action_list->index < matched_action_list->index_max) {		next_action = g_slist_nth_data(matched_action_list->actions,					       matched_action_list->index);		gboolean failed = initiate_action(matched_action_list);		if(failed) {			send_abort();					} else if(matched_action_list->index >			  matched_action_list->index_max) {			/* last action in that list, check if there are			 *  anymore actions at all			 */			slist_iter(				action_list, action_list_t, graph, lpc,				if(action_list->index <=				   action_list->index_max){					more_to_do = TRUE;					break;				}				);		} else {			more_to_do = TRUE;					}	}		if(more_to_do == FALSE) {		// indicate to the CRMd that we're done		xmlNodePtr options = create_xml_node(NULL, "options");		set_xml_property_copy(options, XML_ATTR_OP,				      "te_complete");		send_ipc_request(crm_ch, options, NULL,				 NULL, "dc", "tengine",				 NULL, NULL);				free_xml(options);				return TRUE;	} // else wait for the next event		return FALSE;}
8182	/local/tlutelli/issta_data/temp/c/2005_temp/2005/8182/c2c6e952b41e9fc473a7e9908730e53af447e82a/tengine.c/buggy/crm/tengine/tengine.c