diff options
author | JP Camara <[email protected]> | 2023-12-22 20:28:55 -0500 |
---|---|---|
committer | Koichi Sasada <[email protected]> | 2023-12-24 07:07:11 +0900 |
commit | a2ebf9cc63f0805bc7dd9a92e66bf589a869447e (patch) | |
tree | 918546ec4160018bcbee2813a70e537d81822c9d /test/ruby/test_string.rb | |
parent | fadda88903d9fe764ae53eca07aaf85f08e162a7 (diff) |
Replicate EEXIST epoll_ctl behavior in kqueue
* In the epoll implementation, you get an EEXIST if you try to register the same event for the same fd more than once for a particular epoll instance
* Otherwise kevent will just override the previous event registration, and if multiple threads listen on the same fd only the last one to register will ever finish, the others are stuck
* This approach will lead to native threads getting created, similar to the epoll implementation. This is not ideal, but it fixes certain test cases for now, like test/socket/test_tcp.rb#test_accept_multithread
Diffstat (limited to 'test/ruby/test_string.rb')
0 files changed, 0 insertions, 0 deletions