New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Event Subsystem: No longer require integrators to have their own #696
Conversation
@piscisaureus you appear to be the expert in Windows AFD and I was wondering if you'd be kind enough to answer a few questions. I noticed in your "wepoll" you open That said, it appears libuv has a lot of fallback handling for failures for the I've implemented the latter (libuv) style approach in The main question I have, is Thanks! |
## c-ares version 1.26.0 - Jan 26 2024 Features: * Event Thread support. Integrators are no longer requried to monitor the file descriptors registered by c-ares for events and call `ares_process()` when enabling the event thread feature via `ARES_OPT_EVENT_THREAD` passed to `ares_init_options()`. [PR #696](c-ares/c-ares#696) * Added flags to `are_dns_parse()` to force RAW packet parsing. [PR #693](c-ares/c-ares#693) Changes: * Mark `ares_fds()` as deprected. [PR #691](c-ares/c-ares#691) Bugfixes: * `adig`: Differentiate between internal and server errors. [e10b16a](c-ares/c-ares@e10b16a) * Autotools allow make to override CFLAGS/CPPFLAGS/CXXFLAGS. [PR #695](c-ares/c-ares#695) * Autotools: fix building for 32bit windows due to stdcall symbol mangling. [PR #689](c-ares/c-ares#689) * RR Name should not be sanity checked against the Question. [PR #685](c-ares/c-ares#685)
This PR implements an event thread to process all events on file descriptors registered by c-ares. Prior to this feature, integrators were required to understand the internals of c-ares and how to monitor file descriptors and timeouts and process events.
Implements OS-specific efficient polling such as epoll(), kqueue(), or IOCP, and falls back to poll() or select() if otherwise unsupported. At this point, it depends on basic threading primitives such as pthreads or windows threads.
If enabled via the ARES_OPT_EVENT_THREAD option passed to ares_init_options(), then socket callbacks cannot be used.
Fixes Bug: #611
Fix By: Brad House (@bradh352)