From c058490b69f8b801ca5bc179101933a7717ed559 Mon Sep 17 00:00:00 2001 From: Hans Leidekker Date: Tue, 23 Mar 2010 16:12:11 +0100 Subject: [PATCH] dnsapi: _res is per-thread in glibc. This mirrors Dan Kegel's fix for iphlpapi. --- dlls/dnsapi/query.c | 8 ++------ dlls/iphlpapi/iphlpapi_main.c | 1 - 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/dlls/dnsapi/query.c b/dlls/dnsapi/query.c index 75e2e33a14e..60144654ba2 100644 --- a/dlls/dnsapi/query.c +++ b/dlls/dnsapi/query.c @@ -65,16 +65,12 @@ static CRITICAL_SECTION resolver_cs = { &resolver_cs_debug, -1, 0, 0, 0, 0 }; #define LOCK_RESOLVER() do { EnterCriticalSection( &resolver_cs ); } while (0) #define UNLOCK_RESOLVER() do { LeaveCriticalSection( &resolver_cs ); } while (0) -static int resolver_initialised; - /* call res_init() just once because of a bug in Mac OS X 10.4 */ +/* call once per thread on systems that have per-thread _res */ static void initialise_resolver( void ) { - if (!resolver_initialised) - { + if ((_res.options & RES_INIT) == 0) res_init(); - resolver_initialised = 1; - } } static const char *dns_section_to_str( ns_sect section ) diff --git a/dlls/iphlpapi/iphlpapi_main.c b/dlls/iphlpapi/iphlpapi_main.c index 86008493611..af97390d767 100644 --- a/dlls/iphlpapi/iphlpapi_main.c +++ b/dlls/iphlpapi/iphlpapi_main.c @@ -69,7 +69,6 @@ WINE_DEFAULT_DEBUG_CHANNEL(iphlpapi); /* call res_init() just once because of a bug in Mac OS X 10.4 */ /* Call once per thread on systems that have per-thread _res. */ -/* FIXME: should do same fix in dnsapi (or use dnsapi here?) */ static void initialise_resolver(void) { if ((_res.options & RES_INIT) == 0)