|
|
@ -156,17 +156,30 @@ static void*
|
|
|
|
svReceiverLoop(void* threadParameter)
|
|
|
|
svReceiverLoop(void* threadParameter)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
SVReceiver self = (SVReceiver) threadParameter;
|
|
|
|
SVReceiver self = (SVReceiver) threadParameter;
|
|
|
|
|
|
|
|
EthernetHandleSet handleSet = EthernetHandleSet_new();
|
|
|
|
|
|
|
|
EthernetHandleSet_addSocket(handleSet, self->ethSocket);
|
|
|
|
|
|
|
|
|
|
|
|
self->stopped = false;
|
|
|
|
self->stopped = false;
|
|
|
|
|
|
|
|
|
|
|
|
while (self->running) {
|
|
|
|
while (self->running) {
|
|
|
|
|
|
|
|
switch (EthernetHandleSet_waitReady(handleSet, 100))
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
case -1:
|
|
|
|
|
|
|
|
if (DEBUG_SV_SUBSCRIBER)
|
|
|
|
|
|
|
|
printf("SV_SUBSCRIBER: EhtnernetHandleSet_waitReady() failure\n");
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 0:
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
default:
|
|
|
|
|
|
|
|
SVReceiver_tick(self);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (SVReceiver_tick(self) == false)
|
|
|
|
|
|
|
|
Thread_sleep(1);
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
self->stopped = true;
|
|
|
|
self->stopped = true;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
EthernetHandleSet_destroy(handleSet);
|
|
|
|
|
|
|
|
|
|
|
|
return NULL;
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|