From 08bb4ace818a9dcbf989b6969aad0fc2d6289a73 Mon Sep 17 00:00:00 2001 From: Jiacheng Guo Date: Thu, 3 Jan 2019 00:59:52 +0800 Subject: [PATCH] [posix-app] do nothing if select interrupted with no available fds (#3406) --- src/posix/platform/system.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/posix/platform/system.c b/src/posix/platform/system.c index d6f9d228f..49187c218 100644 --- a/src/posix/platform/system.c +++ b/src/posix/platform/system.c @@ -275,15 +275,17 @@ void otSysProcessDrivers(otInstance *aInstance) perror("select"); exit(OT_EXIT_FAILURE); } - + else if (rval >= 0) + { #if OPENTHREAD_POSIX_VIRTUAL_TIME - otSimProcess(aInstance, &readFdSet, &writeFdSet, &errorFdSet); + otSimProcess(aInstance, &readFdSet, &writeFdSet, &errorFdSet); #else - platformRadioProcess(aInstance, &readFdSet, &writeFdSet); + platformRadioProcess(aInstance, &readFdSet, &writeFdSet); #endif - platformUartProcess(&readFdSet, &writeFdSet, &errorFdSet); - platformAlarmProcess(aInstance); + platformUartProcess(&readFdSet, &writeFdSet, &errorFdSet); + platformAlarmProcess(aInstance); #if OPENTHREAD_ENABLE_PLATFORM_UDP - platformUdpProcess(aInstance, &readFdSet); + platformUdpProcess(aInstance, &readFdSet); #endif + } }