From b00d6d0a95baca17f73ef23ae3201b9d49db7575 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 4eb0642f0a..9adafe2208 100644 --- a/components/vfs/vfs.c +++ b/components/vfs/vfs.c @@ -1043,13 +1043,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);