[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lwip-devel] [task #7017] Implement DNS client

From: Jonathan Larmour
Subject: [lwip-devel] [task #7017] Implement DNS client
Date: Thu, 15 Nov 2007 03:44:49 +0000
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.13) Gecko/20060513 Fedora/1.0.8-1.1.fc3.1.legacy Firefox/1.0.8

Follow-up Comment #28, task #7017 (project lwip):

Unfortunately per-thread info isn't really sensible here - it is not just the
struct hostent that needs to be per-thread, but the contents of all the
pointers it points to.

This constraint (not being thread-safe) of gethostbyname is widely known and
any existing code should already be aware of it. People writing new code for
lwIP should read some documentation so they know it isn't thread-safe :-).

Some implementations provide an alternative gethostbyname_r function, e.g.
from glibc:

       int gethostbyname_r (const char *name,
         struct hostent *ret, char *buf, size_t buflen,
         struct hostent **result, int *h_errnop);

Officially, the new API to sort this out is getaddrinfo() (and getnameinfo()
for the equivalent of gethostbyaddr()). I'm not sure it's worth the pain, and
doing a gethostbyname_r() may be fine for most people in practice. I'm
undecided on that personally, but I think this should not hold up 1.3.


Reply to this item at:


  Message sent via/by Savannah

reply via email to

[Prev in Thread] Current Thread [Next in Thread]