search for: _lock_resolver

Displaying 1 result from an estimated 1 matches for "_lock_resolver".

Did you mean: _unlock_resolver
2004 Aug 06
3
src/net/resolver.c patches for better IPv6 resolution
...n <= 0) return NULL; #ifdef HAVE_GETIPNODEBYNAME - host = getipnodebyname(what, AF_INET6, AI_DEFAULT, &err); - if (host) { - if (_isip(what)) + if (_isip(what)) { + /* According to FreeBSD's man page, getipnodebyname and such + * aren't threadsafe either */ + _lock_resolver(); + host = getipnodebyaddr(&addr_u.v4addr, sizeof(struct in_addr), + AF_INET, &err); + _unlock_resolver(); + if (host == NULL) { + _lock_resolver(); + host = getipnodebyaddr(&addr_u.v6addr, + sizeof(struct in6_addr), AF_INET6, &err); + _unlock_resolver(); + } +...