Remix.run Logo
jeroenhd 3 days ago

getaddrinfo_a is available, but not widely adopted (*BSD and Linux), probably because you can't guarantee it'll be available on every computer/phone/modem. This is only an issue if you're targeting POSIX rather than modern operating systems.

Windows 8 and above also have their own asynchronous DNS API on NON-POSIX land.

Arnavion 3 days ago | parent | next [-]

>getaddrinfo_a is available, but not widely adopted (*BSD and Linux), probably because you can't guarantee it'll be available on every computer/phone/modem. This is only an issue if you're targeting POSIX rather than modern operating systems.

To be precise, even on Linux getaddrinfo_a is not guaranteed to be present. It's a glibc extension. musl doesn't have it.

o11c 3 days ago | parent [-]

And MUSL's explicit policy of "do not implement essential features, just because the standards are falling behind" is a major reason why many programs choose to never support building against MUSL.

pjz 2 days ago | parent [-]

Funny, I see it as them choosing not to add another de-facto 'standard' ala https://xkcd.com/927/ .

rfl890 3 days ago | parent | prev [-]

>Windows 8 and above also have their own asynchronous DNS API on NON-POSIX land. Interesting. Which API?

poizan42 3 days ago | parent [-]

GetAddrInfoEx[0] has async support support since Windows 8 - it had the overlapped parameters earlier but didn't support them. I'm guessing that is what GP is referring to.

[0] https://learn.microsoft.com/en-us/windows/win32/api/ws2tcpip...