flâneur — a map of the web's best reading

Devlog ⚡ Zig Programming Language

ziglang.org · 6,241 words · saved by 1 readers

Without libc in the picture, DNS resolution is a happy async utopia. We can blast out multiple queries and handle responses as they arrive, using standard system primitives such as file descriptors and poll. Perturbingly, a pernicious pair of party poopers plot to puncture perfection: For example, if you bypass libc on a glibc system in order to get the good API, then you end up with people complaining that your application does not integrate properly with NSS. But getaddrinfo is crap! It blocks until all the DNS queries return, so the best you can do is run it in a utility thread and then wait until it’s done. And even then there’s a footgun… it reads environ so if any code anywhere in the process calls setenv then you have corrupt memory access. This alone makes me not take POSIX seriously. If they want to regain my respect they have to fix this along with making close infallible. Rumor has it they made close fallible because they thought that was an appropriate place to rewind tape

Devlog ⚡ Zig Programming Language Download Learn News Source Join a Community Zig Software Foundation Devlog Devlog This page contains a curated list of recent changes to main branch Zig. Also available as an RSS feed . This page contains entries for the year 2025 . Other years are available in the Devlog archive page . October 15, 2025 Async DNS Resolution Author: Andrew Kelley Without libc in the picture, DNS resolution is a happy async utopia. We can blast out multiple queries and handle responses as they arrive, using standard system primitives such as file descriptors and poll . Perturbin

Explore this link on the map →

saved by

related reading