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
..
2022-07-08 02:15:54 +08:00
2023-11-02 00:44:52 +08:00
2022-07-08 02:15:54 +08:00
2023-11-02 00:44:52 +08:00
2023-10-13 03:17:27 +08:00
2023-06-10 02:19:58 +08:00
2023-08-05 06:32:50 -07:00
2023-08-05 06:32:50 -07:00