Res_query (int res_query(const char *dname, int class, int type,unsigned char *answer, int anslen);
) est-il sûr pour les threads?Res_query est-il sûr pour les threads?
Je pense que oui, car il écrit sa réponse dans un tampon alloué par l'utilisateur (contrairement à gethostbyname qui utilise un tampon alloué statiquement).
Est-ce que quelqu'un sait à coup sûr?
[ne semble pas être sûr pour la sécurité MT] (http://www.google.com/search?hl=fr&safe=off&q=linux+res_query+multi+threaded&aq=f&aqi=&oq==oq=&gs_rfai=) – Dummy00001
@ Dummy00001: Il n'y a qu'un seul hit, où quelqu'un prétend que res_query n'est pas threadsafe, car il écrase la variable de configuration interne _res. J'ai trouvé une discussion plus ancienne (à partir de 2002) sur la liste de diffusion BIND (libresolv et donc res_query fait partie de BIND), que _res devrait être thread-local, donc je pense qu'ils ont déjà implémenté il y a des années. – IanH
btw, [libevent] (http://monkey.org/~provos/libevent/) annonce la prise en charge de la résolution de noms (async). Je parie qu'ils ont de meilleurs docs concernant MT-safeness. Bonne chance. – Dummy00001