about summary refs log tree commit diff
path: root/sysdeps/generic/res-state.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2003-07-22 23:10:17 +0000
committerUlrich Drepper <drepper@redhat.com>2003-07-22 23:10:17 +0000
commit0e9d624072fd24ee7d113bcf9325e8fb21d2cf60 (patch)
treec1185e3d74e8db6363798cf48b9b83bd71ef568d /sysdeps/generic/res-state.c
parent11bf8ce1d6c28b4758cedeaea9558f6a071fe7d8 (diff)
downloadglibc-0e9d624072fd24ee7d113bcf9325e8fb21d2cf60.tar.gz
glibc-0e9d624072fd24ee7d113bcf9325e8fb21d2cf60.tar.xz
glibc-0e9d624072fd24ee7d113bcf9325e8fb21d2cf60.zip
Update.
2003-07-22  Jakub Jelinek  <jakub@redhat.com>

	* include/resolv.h (__resp): Declare.  Define to __libc_resp
	if in libc.so.
	(_res): If USE___THREAD, define to (*__resp).
	* resolv/res_libc.c (_res): Normal .bss variable with compat_symbol
	even if USE___THREAD.
	(__resp): New __thread variable.
	(__libc_resp): New alias.
	* resolv/Versions (libc): Export _res@GLIBC_2.0 even if
	USE_TLS && HAVE___THREAD.  Export __resp@@GLIBC_PRIVATE.
	* sysdeps/generic/res-state.c (__res_state): Return __resp
	if USE___THREAD.
Diffstat (limited to 'sysdeps/generic/res-state.c')
-rw-r--r--sysdeps/generic/res-state.c17
1 files changed, 13 insertions, 4 deletions
diff --git a/sysdeps/generic/res-state.c b/sysdeps/generic/res-state.c
index 0c2cb6c948..e327e34f59 100644
--- a/sysdeps/generic/res-state.c
+++ b/sysdeps/generic/res-state.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996, 97, 98, 2002 Free Software Foundation, Inc.
+/* Copyright (C) 1996, 97, 98, 2002, 2003 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -20,17 +20,26 @@
 #include <tls.h>
 
 #if ! USE___THREAD
+
 # undef _res
 extern struct __res_state _res;
-#endif
 
 /* When threaded, _res may be a per-thread variable.  */
 struct __res_state *
-#if ! USE___THREAD
 weak_const_function
-#endif
 __res_state (void)
 {
   return &_res;
 }
+
+#else
+
+struct __res_state *
+__res_state (void)
+{
+  return __resp;
+}
+
+#endif
+
 libc_hidden_def (__res_state)