Skip to content

Implement Native Async DNS, many bug fixes

Latest
Compare
Choose a tag to compare
@etcimon etcimon released this 06 Jul 20:38
· 11 commits to master since this release

For Windows & Linux, GetAddrInfoEx and getaddrinfo_a are now implemented respectively, where the OS handles the dns resolution asynchronously (usually through another thread) and returns the response through event signalling. Thread pools are thus optional in LibAsync, and file operations will be synchronous unless "Libasync_Threading" version tag is used.

For macOS and FreeBSD, DNS will now default to being synchronous unless threading is enabled with version tag "Libasync_Threading"

This is for developers to be able to take advantage of single-thread optimizations in D that prevent the GC from doing a "stop the world".

On macOS/FreeBSD, the directory watcher is now working properly. Other bug fixes for possible signal issues in certain workloads.