camerad zmq_poll, also recover from EAGAIN

pull/1252/head
Willem Melching 2020-03-17 13:40:07 -07:00
parent 7cd2c4c18f
commit e69e0486ff
3 changed files with 4 additions and 7 deletions

View File

@ -2117,7 +2117,7 @@ void cameras_run(DualCameraState *s) {
int ret = poll(fds, ARRAYSIZE(fds), 1000);
if (ret <= 0) {
if (errno == EINTR) continue;
if (errno == EINTR || errno == EAGAIN) continue;
LOGE("poll failed (%d - %d)", ret, errno);
break;
}

View File

@ -604,10 +604,7 @@ void* visionserver_client_thread(void* arg) {
}
int ret = zmq_poll(polls, num_polls, -1);
if (ret < 0) {
if (errno == EINTR){
LOGW("poll EINTR");
continue;
}
if (errno == EINTR || errno == EAGAIN) continue;
LOGE("poll failed (%d - %d)", ret, errno);
break;
}
@ -799,7 +796,7 @@ void* visionserver_thread(void* arg) {
int ret = zmq_poll(polls, ARRAYSIZE(polls), -1);
if (ret < 0) {
if (errno == EINTR) continue;
if (errno == EINTR || errno == EAGAIN) continue;
LOGE("poll failed (%d - %d)", ret, errno);
break;
}

View File

@ -598,7 +598,7 @@ static void ui_update(UIState *s) {
int ret = zmq_poll(polls, 1, 1000);
#endif
if (ret < 0) {
if (errno == EINTR) continue;
if (errno == EINTR || errno == EAGAIN) continue;
LOGE("poll failed (%d - %d)", ret, errno);
close(s->ipc_fd);