1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-07-29 11:41:21 +03:00

resolv: Introduce struct resolv_context [BZ #21668]

struct resolv_context objects provide a temporary resolver context
which does not change during a name lookup operation.  Only when the
outmost context is created, the stub resolver configuration is
verified to be current (at present, only against previous res_init
calls).  Subsequent attempts to obtain the context will reuse the
result of the initial verification operation.

struct resolv_context can also be extended in the future to store
data which needs to be deallocated during thread cancellation.
This commit is contained in:
Florian Weimer
2017-06-30 21:10:23 +02:00
parent 4e45d83c92
commit 352f4ff9a2
24 changed files with 1032 additions and 370 deletions

View File

@ -26,8 +26,12 @@ libc {
__h_errno; __resp;
__res_maybe_init; __res_iclose;
__res_iclose;
__inet_pton_length;
__resolv_context_get;
__resolv_context_get_preinit;
__resolv_context_get_override;
__resolv_context_put;
}
}
@ -79,7 +83,9 @@ libresolv {
# Needed in libnss_dns.
__ns_name_unpack; __ns_name_ntop;
__ns_get16; __ns_get32;
__libc_res_nquery; __libc_res_nsearch;
__res_context_query;
__res_context_search;
__res_context_hostalias;
}
}