messages are stored, so that they don't have to be kept around for the multi
handle's entire life time. He also made it return failure codes properly
which it didn't do before.
I made the messages only get stored per easy-handle so that they can be
independently killed easier without ruining the "master list". It makes
the info_read() function slightly less beautiful as it has to scan for
messages to return, but it makes removing individual handles a lot easier
and less error prone.
- Use a global dns cache (via setting the tentatively named,
CURLOPT_DNS_USE_GLOBAL_CACHE option to true)
- Use a per-handle dns cache, by default
- Use a pooled dns cache when in the "multi" interface