diff --git a/components/vfs/vfs_eventfd.c b/components/vfs/vfs_eventfd.c index 11ff2fb7e7..a9a979cf9c 100644 --- a/components/vfs/vfs_eventfd.c +++ b/components/vfs/vfs_eventfd.c @@ -106,7 +106,7 @@ static esp_err_t event_start_select(int nfds, for (int i = 0; i < nfds; i++) { _lock_acquire_recursive(&s_events[i].lock); - if (s_events[i].fd == i) { + if (s_events[i].fd == i && (FD_ISSET(i, readfds) || FD_ISSET(i, writefds) || FD_ISSET(i, exceptfds))) { if (s_events[i].support_isr) { portENTER_CRITICAL(&s_events[i].data_spin_lock); }