Что касается curl 7.47.0 в мультиинтерфейсе Linux Ubuntu, используйте пример кода по адресу: https://curl.haxx.se/libcurl/c/asiohiper.html (с одним небольшим изменением, которое приводит к многократному выбору исходного URL-адреса)
Если DNS настроен до того, как я запустил пример, все работает, как и ожидалось. Если DNS не настроен (файл /etc/resolv.conf пуст), при запуске примера я получаю
CURLE_COULDNT_RESOLVE_HOST, что и ожидалось. Но если я настрою DNS (который заполняет /etc/resolv.conf), пока программа все еще работает, она все равно выйдет из строя с CURLE_COULDNT_RESOLVE_HOST. Я пробовал все, включая вызов curl_multi_cleanup, а затем еще раз curl_multi_init перед началом новой загрузки, но ничего не помогает. Похоже, что библиотека придерживается первоначальной конфигурации DNS (которая была пустой). Любая идея, как заставить библиотеку использовать новые записи DNS, которые были добавлены после ее запуска?