2f9c082f8f
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> |
||
---|---|---|
.. | ||
boardctl.h | ||
custom_file.h | ||
endian.h | ||
epoll.h | ||
eventfd.h | ||
file.h | ||
ioctl.h | ||
ipc.h | ||
mman.h | ||
mount.h | ||
msg.h | ||
param.h | ||
poll.h | ||
prctl.h | ||
queue.h | ||
random.h | ||
resource.h | ||
select.h | ||
sendfile.h | ||
shm.h | ||
signalfd.h | ||
socket.h | ||
sockio.h | ||
stat.h | ||
statfs.h | ||
statvfs.h | ||
syscall.h | ||
syscall_lookup.h | ||
sysinfo.h | ||
sysmacros.h | ||
time.h | ||
timerfd.h | ||
times.h | ||
tree.h | ||
types.h | ||
uio.h | ||
un.h | ||
utsname.h | ||
vfs.h | ||
videoio.h | ||
wait.h |