From ce7c936633dc74a980def482cd95009e1c20d061 Mon Sep 17 00:00:00 2001 From: Jiacheng Guo Date: Thu, 25 Nov 2021 11:19:08 +0800 Subject: [PATCH] vfs: reduce lock in vfs_select --- components/vfs/vfs.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/components/vfs/vfs.c b/components/vfs/vfs.c index 9fb4c592ee..36cf2f22d0 100644 --- a/components/vfs/vfs.c +++ b/components/vfs/vfs.c @@ -1045,13 +1045,13 @@ int esp_vfs_select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *errorfds vSemaphoreDelete(sel_sem.sem); sel_sem.sem = NULL; } + _lock_acquire(&s_fd_table_lock); for (int fd = 0; fd < nfds; ++fd) { - _lock_acquire(&s_fd_table_lock); if (s_fd_table[fd].has_pending_close) { s_fd_table[fd] = FD_TABLE_ENTRY_UNUSED; } - _lock_release(&s_fd_table_lock); } + _lock_release(&s_fd_table_lock); free(vfs_fds_triple); free(driver_args);