From cb07f6f67db0ef4ccbf3bedfb7c9c4f140773d2c Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Tue, 1 Nov 2005 00:08:54 +0000 Subject: * resolv/res_init.c (__res_iclose): New function. Broken out of res_nclose. Take addition parameter which determines whether addresses should be freed. (res_nclose): Call __res_iclose. (res_thread_freeres): Likewise. * resolv/res_data.c (res_close): Call __res_iclose. * resolv/res_libc.c (res_init): No need to separately free the addresses. (__res_maybe_init): Likewise. * resolv/res_send.c: Use __res_iclose instead of res_nclose. * resolv/Versions [GLIBC_PRIVATE]: Add __res_iclose. * include/resolv.h: Declare __res_iclose. Add libc_hidden_proto for __res_iclose. * hesiod/hesiod.c (__hesiod_res_set): No need to free name server addresses here again. --- resolv/res_data.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'resolv/res_data.c') diff --git a/resolv/res_data.c b/resolv/res_data.c index adadcdcd7a..1beea1dc4f 100644 --- a/resolv/res_data.c +++ b/resolv/res_data.c @@ -246,7 +246,9 @@ res_close(void) { if ((_res.options & RES_INIT) == 0) return; #endif - res_nclose(&_res); + /* We don't free the name server addresses because we never + did it and it would be done implicitly on shutdown. */ + __res_iclose(&_res, false); } #ifdef BIND_UPDATE -- cgit v1.2.1