 gpointer a_node = g_hash_table_lookup(fsa_membership_copy->members, node_id); 
gpointer a_node = g_hash_table_lookup( fsa_membership_copy->members, node_id); 
do_send_welcome_all(long long action,		    enum crmd_fsa_cause cause,		    enum crmd_fsa_state cur_state,		    enum crmd_fsa_input current_input,		    void *data){		/* reset everyones status back to down or in_ccm in the CIB */	xmlNodePtr update     = NULL;	xmlNodePtr cib_copy   = get_cib_copy();	xmlNodePtr tmp1       = get_object_root(XML_CIB_TAG_STATUS, cib_copy);	xmlNodePtr tmp2       = NULL;	/* Give everyone a chance to join before invoking the PolicyEngine */	stopTimer(integration_timer);	startTimer(integration_timer);		if(joined_nodes != NULL) {		g_hash_table_destroy(joined_nodes);		joined_nodes = g_hash_table_new(&g_str_hash, &g_str_equal);			}	/* catch any nodes that are active in the CIB but not in the CCM list  */	xml_child_iter(		tmp1, node_entry, XML_CIB_TAG_STATE,		const char *node_id = xmlGetProp(node_entry, XML_ATTR_UNAME);		gpointer a_node =			g_hash_table_lookup(fsa_membership_copy->members,					    node_id);		if(a_node != NULL || (safe_str_eq(fsa_our_uname, node_id))) {			/* handled by do_update_cib_node() */			continue;		}		tmp1 = create_node_state(			node_id, node_id,			XML_BOOLEAN_NO, NULL, CRMD_JOINSTATE_DOWN);		if(update == NULL) {			update = tmp1;		} else {			update = xmlAddSibling(update, tmp1);		}		);	/* now process the CCM data */	free_xml(do_update_cib_nodes(update, TRUE));	free_xml(cib_copy);	/* Make sure everyone has the *whole* CIB */	tmp1 = get_cib_copy();	tmp2 = create_cib_fragment(tmp1, NULL);		send_request(NULL, tmp2, CRM_OP_REPLACE,		     NULL, CRM_SYSTEM_CRMD, NULL);		free_xml(tmp1);		free_xml(tmp2);		/* Avoid ordered message delays caused when the CRMd proc	 * isnt running yet (ie. send as a broadcast msg which are never	 * sent ordered.	 */	send_request(NULL, NULL, CRM_OP_WELCOME,		     NULL, CRM_SYSTEM_CRMD, NULL);	/* No point hanging around in S_INTEGRATION if we're the only ones here! */	if(g_hash_table_size(joined_nodes)	   == fsa_membership_copy->members_size) {		/* that was the last outstanding join ack) */		crm_info("That was the last outstanding join ack");		return I_SUCCESS;			} else {		crm_debug("Still waiting on %d outstanding join acks",			  fsa_membership_copy->members_size			  - g_hash_table_size(joined_nodes));		/* dont waste time by invoking the pe yet; */	}		return I_NULL;}
8182	/local/tlutelli/issta_data/temp/c/2005_temp/2005/8182/5904e7266cdab74b77af2926fbb523860107c475/join.c/buggy/crm/crmd/join.c