Use async DNS lookup API on Windows On Windows, the CRT teardown code interacts poorly with ASAN when threads are blocked on system calls like `getaddrinfo`. This can cause lingering threads to return back to a heap that's gone :) That in turn causes an access violation that may affect the exit code of the process. This has caused flakiness on the Win ASAN bot. Replace the blocking `getaddrinfo` call with the asynchronous `GetAddrInfoExW` API. This allows pending DNS lookups to be cancelled safely in the destructor. A joinable worker thread is now used to wait for the completion event, ensuring that threads are properly cleaned up and do not persist after the resolver is destroyed. Bug: none Change-Id: I84d764428cc19392d53bc30cdb72985c1343b051 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/429183 Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org> Reviewed-by: Harald Alvestrand <hta@webrtc.org> Cr-Commit-Position: refs/heads/main@{#46365}
WebRTC is a free, open software project that provides browsers and mobile applications with Real-Time Communications (RTC) capabilities via simple APIs. The WebRTC components have been optimized to best serve this purpose.
Our mission: To enable rich, high-quality RTC applications to be developed for the browser, mobile platforms, and IoT devices, and allow them all to communicate via a common set of protocols.
The WebRTC initiative is a project supported by Google, Mozilla and Opera, amongst others.
See here for instructions on how to get started developing with the native code.
Authoritative list of directories that contain the native API header files.