camerad zmq_poll, also recover from EAGAIN
parent
d1ad7f3fe1
commit
fa98a83b06
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue