ipfixUdpIpv4Receiver->processorCount = 0; ipfixUdpIpv4Receiver->packetProcessor = NULL;
void* createIpfixUdpIpv4Receiver(uint16_t port) {	IpfixUdpIpv4Receiver* ipfixUdpIpv4Receiver;	struct sockaddr_in serverAddress;		if(!(ipfixUdpIpv4Receiver=(IpfixUdpIpv4Receiver*)malloc(sizeof(IpfixUdpIpv4Receiver)))) {		fatal("Ran out of memory");		goto out0;		}	if (pthread_mutex_init(&ipfixUdpIpv4Receiver->mutex, NULL) != 0) {		fatal("Could not init mutex");		goto out1;		}			if (pthread_mutex_lock(&ipfixUdpIpv4Receiver->mutex) != 0) {		fatal("Could not lock mutex");		goto out1;		}	ipfixUdpIpv4Receiver->socket = socket(AF_INET, SOCK_DGRAM, 0);	if(ipfixUdpIpv4Receiver->socket < 0) {		perror("Could not create socket");		goto out1;		}	serverAddress.sin_family = AF_INET;	serverAddress.sin_addr.s_addr = htonl(INADDR_ANY);	serverAddress.sin_port = htons(port);	if(bind(ipfixUdpIpv4Receiver->socket, (struct sockaddr*)&serverAddress, sizeof(struct sockaddr_in)) < 0) {		perror("Could not bind socket");		goto out2;		}	if(pthread_create(&(ipfixUdpIpv4Receiver->thread), 0, listenerUdpIpv4, ipfixUdpIpv4Receiver) != 0) {		fatal("Could not create listener thread");		goto out2;		}	//listenerUdpIpv4(ipfixReceiver); //debug - single-threaded		return ipfixUdpIpv4Receiver;out2:	close(ipfixUdpIpv4Receiver->socket);out1:	free(ipfixUdpIpv4Receiver);out0:	return NULL;	}