Draft: Add support for multiple listeners on Windows

Closed Ondřej Surý requested to merge ondrej/add-per-cpu-netmgr-listener-on-windows into main

Previously, the named on Windows was limited to a single listener thread that would take care of all the incoming and outgoing traffic.

In this commit, we add the multiplatform isc__nm_dupsocket() function that can be used on systems without load-balancing sockets to duplicate the first socket and reuse it among the threads. On Linuxes and BSDs, this uses plain dup(), while on Windows it uses WSADuplicateSocket() function that's a little bit complicated but the overall result is same as calling dup() on POSIX systems.

Merge request reports