slist_iter( op, action_t, clone_data->self->actions, lpc2,
if(rsc->notify && n_data->active) { n_data->active = g_list_sort( n_data->active, sort_notify_entries); rsc_list = NULL; node_list = NULL; uuid_list = NULL; expand_list(n_data->active, clone_data->clone_max, &rsc_list, &node_list, &uuid_list); g_hash_table_insert( n_data->keys, crm_strdup("notify_active_resource"), rsc_list); g_hash_table_insert( n_data->keys, crm_strdup("notify_active_uname"), node_list); g_hash_table_insert( n_data->keys, crm_strdup("notify_active_uuid"), uuid_list); }
void clone_expand(resource_t *rsc, pe_working_set_t *data_set){		crm_data_t *notify_xml = create_xml_node(NULL, "notify");		clone_variant_data_t *clone_data = NULL;	get_clone_variant_data(clone_data, rsc);	crm_debug_2("Processing actions from %s", rsc->id);	slist_iter(		child_rsc, resource_t, clone_data->child_list, lpc,		slist_iter(			op, action_t, clone_data->self->actions, lpc2,			child_rsc->fns->create_notify_element(				child_rsc, op, notify_xml, data_set);			);		);	/* yes we DO need the second loop */	slist_iter(		child_rsc, resource_t, clone_data->child_list, lpc,				child_rsc->fns->expand(child_rsc, data_set);		);		slist_iter(		action, action_t, clone_data->self->actions, lpc2,		if(safe_str_eq(action->task, CRMD_ACTION_NOTIFY)) {			action->extra_xml = notify_xml;		}		);		clone_data->self->fns->expand(clone_data->self, data_set);	free_xml(notify_xml);}