about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--resolv/res_init.c3
2 files changed, 6 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index ffa6876cf8..f023b2b6e0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2004-10-11  Ulrich Drepper  <drepper@redhat.com>
 
+	* resolv/res_init.c (res_thread_freeres): Reset _res.options.
+	[BZ #434]
+
 	* resolv/res_send.c (send_dg): Use nonblocking sockets.  Add
 	appropriate poll/select calls and restart operation if necessary.
 	Also handle EINTR.
diff --git a/resolv/res_init.c b/resolv/res_init.c
index 4087597a87..731c784e17 100644
--- a/resolv/res_init.c
+++ b/resolv/res_init.c
@@ -597,6 +597,9 @@ res_thread_freeres (void)
 	free (_res._u._ext.nsaddrs[ns]);
 	_res._u._ext.nsaddrs[ns] = NULL;
       }
+
+  /* Make sure we do a full re-initialization the next time.  */
+  _res.options = 0;
 }
 text_set_element (__libc_thread_subfreeres, res_thread_freeres);
 text_set_element (__libc_subfreeres, res_thread_freeres);