if (i == -EINVAL) {
ret = ERR_INVARG;
goto end;
+ } else if (i == -ETIMEDOUT) {
+ ret = ERR_TIMEOUT;
+ goto end;
} else if (i < 0) {
- ret = (errno == EAGAIN || errno == EWOULDBLOCK) ? ERR_TIMEOUT : ERR_NET;
+ ret = ERR_NET;
goto end;
}
-
/* check the switch error code */
ret = checkErrorCode(&nc);
if (i == -EINVAL) {
ret = ERR_INVARG;
goto end;
+ } else if (i == -ETIMEDOUT) {
+ ret = ERR_TIMEOUT;
} else if (i < 0) {
- ret = (errno == EAGAIN || errno == EWOULDBLOCK) ? ERR_TIMEOUT : ERR_NET;
+ ret = ERR_NET;
goto end;
}
timeval_to_timespec(&timeend, &tv);
#endif
timewait = timespec_diff_ms(&timecurrent, &timeend);
- if (timewait <= 0)
+ if (timewait <= 0) {
+ len = -ETIMEDOUT;
break;
+ }
}
len = poll(&fds, 1, timewait);