]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
2237. [bug] libbind: res_init() was not thread aware. [RT #17123]
authorMark Andrews <marka@isc.org>
Fri, 14 Sep 2007 05:32:25 +0000 (05:32 +0000)
committerMark Andrews <marka@isc.org>
Fri, 14 Sep 2007 05:32:25 +0000 (05:32 +0000)
CHANGES
lib/bind/resolv/res_data.c

diff --git a/CHANGES b/CHANGES
index 928d0572576dc8b65911855dcdc38a4814497717..fe08744cd2f15b3a76a66b87d83643b84db2bb16 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,5 @@
+2237.  [bug]           libbind: res_init() was not thread aware. [RT #17123]
+
 2236.  [bug]           dnssec-signzone failed to preserve the case of
                        of wildcard owner names. [RT #17085]
 
index ff6727c260af38b5a87aa3c95892c27b2bf82803..be5a12529d7316ea43e806099c7baecdd586c7b9 100644 (file)
@@ -16,7 +16,7 @@
  */
 
 #if defined(LIBC_SCCS) && !defined(lint)
-static const char rcsid[] = "$Id: res_data.c,v 1.4 2005/04/27 04:56:41 sra Exp $";
+static const char rcsid[] = "$Id: res_data.c,v 1.5 2007/09/14 05:32:25 marka Exp $";
 #endif /* LIBC_SCCS and not lint */
 
 #include "port_before.h"
@@ -40,7 +40,6 @@ static const char rcsid[] = "$Id: res_data.c,v 1.4 2005/04/27 04:56:41 sra Exp $
 #include <unistd.h>
 
 #include "port_after.h"
-#undef _res
 
 const char *_res_opcodes[] = {
        "QUERY",
@@ -70,6 +69,7 @@ const char *_res_sectioncodes[] = {
 };
 #endif
 
+#undef _res
 #ifndef __BIND_NOSTATIC
 struct __res_state _res
 # if defined(__BIND_RES_TEXT)
@@ -77,6 +77,10 @@ struct __res_state _res
 # endif
         ;
 
+#if defined(DO_PTHREADS) || defined(__linux)
+#define _res (*__res_state())
+#endif
+
 /* Proto. */
 
 int  res_ourserver_p(const res_state, const struct sockaddr_in *);