Hans Leidekker : dnsapi: _res is per-thread in glibc.
Alexandre Julliard
julliard at winehq.org
Tue Mar 23 12:12:51 CDT 2010
Module: wine
Branch: master
Commit: c058490b69f8b801ca5bc179101933a7717ed559
URL: http://source.winehq.org/git/wine.git/?a=commit;h=c058490b69f8b801ca5bc179101933a7717ed559
Author: Hans Leidekker <hans at codeweavers.com>
Date: Tue Mar 23 16:12:11 2010 +0100
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 75e2e33..6014465 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 8600849..af97390 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)
More information about the wine-cvs
mailing list