debugs("recvfrom returned without data, terminating listener thread");
debug("recvfrom returned without data, terminating listener thread");
void* listenerUdpIpv4(void* handleP) {	int handle = *(int*)handleP; free(handleP);	struct sockaddr_in clientAddress;	socklen_t clientAddressLen;	byte* data = (byte*)malloc(sizeof(byte)*MAX_MSG_LEN);	int n;	while(1) {		clientAddressLen = sizeof(struct sockaddr_in);		n = recvfrom(handle, data, MAX_MSG_LEN, 0, (struct sockaddr*)&clientAddress, &clientAddressLen);		if (n < 0) {			debugs("recvfrom returned without data, terminating listener thread");			break;			}      		pthread_mutex_lock(&receiverMutex);		if (messageCallbackFunction) messageCallbackFunction(data, n);		pthread_mutex_unlock(&receiverMutex);		}	close(handle);	free(data);	return 0;	}