nuttx/fs/vfs
Bowen Wang 2f9c082f8f fs_epoll: serveral epoll issues fix
1. fs_epoll: try again when epoll_teardown() return 0
when poll_notify() called larger than twice when epoll_wait() blocked
in the eph->sem, the semcount will be larger than 1 when epoll_wait()
unblocked and will return 0 directly at the next epoll_wait.
So retry to wait the eph->sem again when epoll_teardown return 0.

2. fs_epoll: poll_setup the fd again even this fd got non-expected event
Some poll implementations need call poll_setup again when their internal
states changed (e.g., local socket), so should add the fd to the epoll
teardown list and poll_setup again at the next epoll_wait even this fd
got the user non-expected event.

Signed-off-by: Bowen Wang <wangbowen6@xiaomi.com>
2023-11-02 00:44:52 +08:00
..
CMakeLists.txt stdio: Merge fs_fdopen into fdopen to simplify the code logi 2023-10-17 13:34:00 +08:00
fs_chstat.c Fix various typos 2022-07-08 02:15:54 +08:00
fs_close.c fs/vfs: Zero file struct field with memset 2023-05-08 17:56:07 +03:00
fs_dir.c Revert "Don't call lib_free in the kernel code" 2023-08-08 11:58:29 -03:00
fs_dup2.c fs/dup3: impletement dup3/nx_dup3_from_tcb function 2023-10-27 21:15:07 +08:00
fs_dup.c fs/dup3: impletement dup3/nx_dup3_from_tcb function 2023-10-27 21:15:07 +08:00
fs_epoll.c fs_epoll: serveral epoll issues fix 2023-11-02 00:44:52 +08:00
fs_eventfd.c fs/vfs: fix dup issue for eventfd/signalfd/timerfd 2023-09-11 19:57:34 +08:00
fs_fchstat.c Fix various typos 2022-07-08 02:15:54 +08:00
fs_fcntl.c fs/dup3: impletement dup3/nx_dup3_from_tcb function 2023-10-27 21:15:07 +08:00
fs_fstat.c libc/modlib: Replace nx_stat with file_stat 2023-07-06 09:20:24 -03:00
fs_fstatfs.c fs: move memset to upper lever for statfs 2023-06-16 11:10:25 +08:00
fs_fsync.c Revert commit 35602cc2ef 2023-08-25 20:37:38 +03:00
fs_ioctl.c fs/ioctl: add BIOC_BLKGETSIZE cmd to get block sector numbers 2023-08-19 01:43:59 +08:00
fs_link.c fs: Implment link as a normal function instead macro 2023-02-04 18:31:23 -03:00
fs_lseek.c
fs_mkdir.c Replace nxsem API when used as a lock with nxmutex API 2022-10-17 15:59:46 +09:00
fs_open.c fs: Change inode_checkflags to static function 2023-10-22 21:23:08 +03:00
fs_poll.c fs_epoll: serveral epoll issues fix 2023-11-02 00:44:52 +08:00
fs_pread.c
fs_pseudofile.c add munmap logic to pseudofs 2023-10-13 03:17:27 +08:00
fs_pwrite.c
fs_read.c
fs_readlink.c
fs_rename.c fs/rename: fix use after free issue about rename 2023-10-26 01:04:23 +08:00
fs_rmdir.c Replace nxsem API when used as a lock with nxmutex API 2022-10-17 15:59:46 +09:00
fs_select.c libc/fdcheck: add fdcheck module 2023-06-10 02:19:58 +08:00
fs_sendfile.c sendfile: Fixed behavior of sendfile when count is set to zero. 2023-06-22 16:10:58 +08:00
fs_signalfd.c fs/vfs: fix dup issue for eventfd/signalfd/timerfd 2023-09-11 19:57:34 +08:00
fs_stat.c fs: add pipe type support to inode 2023-08-05 06:32:50 -07:00
fs_statfs.c fs: move memset to upper lever for statfs 2023-06-16 11:10:25 +08:00
fs_symlink.c nuttx: use lib_free for memory de-allocation after strdup or asprintf 2023-08-08 11:58:29 -03:00
fs_syncfs.c fs:add syncfs api for sync whole fs data 2023-09-23 15:58:00 +08:00
fs_timerfd.c fs/vfs: fix dup issue for eventfd/signalfd/timerfd 2023-09-11 19:57:34 +08:00
fs_truncate.c fs/vfs: ftruncate produce EINVAL if fd is not open for writing 2023-08-02 22:57:28 -07:00
fs_unlink.c fs: add pipe type support to inode 2023-08-05 06:32:50 -07:00
fs_write.c
Kconfig fs/signalfd: using file descriptor to accept signal 2022-12-28 23:05:58 +08:00
Make.defs stdio: Merge fs_fdopen into fdopen to simplify the code logi 2023-10-17 13:34:00 +08:00