One possibility is that the Linux getaddrinfo() is thread-safe, but only by way of a lock that only allows one request to be outstanding at a time.
The next step should be to get the getaddrinfo() source code from glibc and see what it does. It's open source, hey. :-)
--Guido van Rossum (home page: http://www.python.org/%7Eguido/)