msg(MSG_INFO, "IPFIX receiver: now running IPFIX listener thread");
msg(MSG_INFO, "IPFIX receiver: now running IPFIXReceiver thread");
static void * listenerUdpIpv4(void *ipfixReceiver){	int n;	struct sockaddr_in clientAddress;	socklen_t clientAddressLen;	clientAddressLen = sizeof(struct sockaddr_in);	IpfixReceiver *ipr = (IpfixReceiver *)ipfixReceiver;	byte *data = (byte *)malloc(sizeof(byte)*MAX_MSG_LEN);	        msg(MSG_INFO, "IPFIX receiver: now running IPFIX listener thread");		while(!ipr->exit) {		/* if we block here, exiting of this thread is delayed until the next packet :( */		n = recvfrom(ipr->socket, data, MAX_MSG_LEN, 0, (struct sockaddr*)&clientAddress, &clientAddressLen);		if(n < 0) {			msg(MSG_DEBUG, "recvfrom returned with error, terminating UDP/IPv4 listener thread");			break;		}      		pthread_mutex_lock(&ipr->mutex);		processMessage(ipr, data, n);		pthread_mutex_unlock(&ipr->mutex);	}        msg(MSG_DEBUG, "IPFIXReceiver thread (listener) is terminating");	free(data);	return 0;}