pantheon-systems/fusedav — pull request #126 by jerryblakley (2013-10-26 00:06:51+00:00)
Title: Pass random list of IP addresses via CURLOPT_RESOLVE

getaddrinfo gets called inside of libcurl, and even though the pdns cache keeps a somewhat random order list of entries, getaddrinfo sorts them. We want random ordering so we get adequate load balancing across nodes. So we call getaddrinfo ourselves inside of fusedav (session.c), then randomize the list ourselves, then pass this list to libcurl via the CURLOPT_RESOLVE opt. libcurl can then forgo its sorting call to getaddrinfo and use our unsorted list instead.