about summary refs log tree commit diff
path: root/compiler/rustc_llvm/llvm-wrapper/Linker.cpp
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2024-08-24 12:34:36 +0000
committerbors <bors@rust-lang.org>2024-08-24 12:34:36 +0000
commitdbfd066ed828c38f5de4fbc6ee0d0e6153606133 (patch)
tree2b8de387e3433f23c0f948bd5c8d5e7e1353a667 /compiler/rustc_llvm/llvm-wrapper/Linker.cpp
parent3a9e63c76505d4ee86f8076523287cade592876e (diff)
parent23f308b5db6ad3f0c9fe8ad451090be17e66d9f6 (diff)
downloadrust-dbfd066ed828c38f5de4fbc6ee0d0e6153606133.tar.gz
rust-dbfd066ed828c38f5de4fbc6ee0d0e6153606133.zip
Auto merge of #3829 - tiif:edgecase, r=oli-obk
epoll: handle edge case for epoll_ctl

There is a test case that revealed that our implementation differs from the real system:
 - Set up an epoll watching the FD
- Call epoll_wait
- Set up another epoll watching the same FD
- Call epoll_wait on the first epoll. Nothing should be reported!

This happened because, in ``epoll_ctl``, we used ``check_and_update_readiness``, which is a function that would return notification for all epoll file description that registered a particular file description. But we shouldn't do that because no notification should be returned if there is no I/O activity between two ``epoll_wait`` (every first ``epoll_wait`` that happens after ``epoll_ctl`` is an exception, we should return notification that reflects the readiness of file description).

r? `@oli-obk`
Diffstat (limited to 'compiler/rustc_llvm/llvm-wrapper/Linker.cpp')
0 files changed, 0 insertions, 0 deletions