if (client->ch_status != IPC_CONNECT) { 
if (client->ch_status == IPC_DISCONNECT) { 
crmd_ipc_msg_callback(IPC_Channel *client, gpointer user_data){	int lpc = 0;	IPC_Message *msg = NULL;	ha_msg_input_t *new_input = NULL;	crmd_client_t *curr_client = (crmd_client_t*)user_data;	gboolean stay_connected = TRUE;		crm_debug_2("Processing IPC message from %s",		   curr_client->table_key);	while(lpc == 0 && client->ops->is_message_pending(client)) {		if (client->ch_status != IPC_CONNECT) {			/* The message which was pending for us is that			 * the IPC status is now IPC_DISCONNECT */			break;		}		if (client->ops->recv(client, &msg) != IPC_OK) {			perror("Receive failure:");			crm_err("[%s] [receive failure]",				curr_client->table_key);			stay_connected = FALSE;			break;					} else if (msg == NULL) {			crm_err("[%s] [no message this time]",				curr_client->table_key);			continue;		}		lpc++;		new_input = new_ipc_msg_input(msg);		msg->msg_done(msg);				crm_debug_2("Processing msg from %s", curr_client->table_key);		crm_log_message_adv(LOG_MSG, "CRMd[inbound]", new_input->msg);		if(crmd_authorize_message(new_input, curr_client)) {			register_fsa_input(C_IPC_MESSAGE, I_ROUTER, new_input);		}		delete_ha_msg_input(new_input);				msg = NULL;		new_input = NULL;	}		crm_debug_2("Processed %d messages", lpc);    	if (client->ch_status != IPC_CONNECT) {		stay_connected = FALSE;		process_client_disconnect(curr_client);	}	G_main_set_trigger(fsa_source);	return stay_connected;}
8182	/local/tlutelli/issta_data/temp/c/2005_temp/2005/8182/d00a5f1e3e9c27f9af5337bcea599d8d1434a429/callbacks.c/buggy/crm/crmd/callbacks.c