struct ha_msg *msg = NULL;
HA_Message *msg = NULL;
cib_GHFunc(gpointer key, gpointer value, gpointer user_data){	cib_client_t *client = value;	GListPtr list = client->delegated_calls;	struct ha_msg *msg = NULL;	while(list != NULL) {		struct ha_msg *reply = ha_msg_new(4);		int seen = 0;		int timeout = 5; /* 1 iteration == 1 seconds */		msg = list->data;		ha_msg_value_int(msg, F_CIB_SEENCOUNT, &seen);		ha_msg_value_int(msg, F_CIB_TIMEOUT, &timeout);		crm_trace("Timeout %d, seen %d", timeout, seen);		if(timeout > 0 && seen < timeout) {			int seen2 = 0;			crm_trace("Updating seen count for msg from client %s",				  client->id);			seen++;			ha_msg_mod_int(msg, F_CIB_SEENCOUNT, seen);			ha_msg_value_int(msg, F_CIB_SEENCOUNT, &seen2);			list = list->next;			continue;		}				crm_warn("Sending operation timeout msg to client %s",			 client->id);				ha_msg_add(reply, F_TYPE, T_CIB);		ha_msg_add(reply, F_CIB_OPERATION,			   cl_get_string(msg, F_CIB_OPERATION));		ha_msg_add(reply, F_CIB_CALLID,			   cl_get_string(msg, F_CIB_CALLID));		ha_msg_add_int(reply, F_CIB_RC, cib_master_timeout);		msg2ipcchan(reply, client->channel);		list = list->next;		client->delegated_calls = g_list_remove(			client->delegated_calls, msg);		ha_msg_del(reply);		ha_msg_del(msg);	}}