global_init: move the IPv6 works status bool to multi handle

Previously it was stored in a global state which contributed to
curl_global_init's thread unsafety. This boolean is now instead figured
out in curl_multi_init() and stored in the multi handle. Less effective,
but thread safe.

Closes #4851
This commit is contained in:
Daniel Stenberg 2020-01-26 17:51:01 +01:00
parent 872ea75acf
commit 0b030a5b23
No known key found for this signature in database
GPG key ID: 5CC908FDB71E12C2
8 changed files with 27 additions and 25 deletions

View file

@ -7,7 +7,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
* Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
* Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@ -96,9 +96,9 @@ int Curl_resolv_timeout(struct connectdata *conn, const char *hostname,
/*
* Curl_ipv6works() returns TRUE if IPv6 seems to work.
*/
bool Curl_ipv6works(void);
bool Curl_ipv6works(struct connectdata *conn);
#else
#define Curl_ipv6works() FALSE
#define Curl_ipv6works(x) FALSE
#endif
/*