mirror of
https://github.com/dragonpilot/dragonpilot.git
synced 2026-07-02 03:12:06 +08:00
camerad zmq_poll, also recover from EAGAIN
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
+1
-1
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user