[Python-Dev] Re: Re: mysterious hangs in socket code
Martin v. Loewis
martin@v.loewis.de
21 Sep 2002 00:38:18 +0200
Mats Wichmann <mats@laplaza.org> writes:
> >I think that part is already settled: getaddrinfo, on Linux, is
> >thread-safe.
>
> The latest Posix/Single UNIX spec in fact require getaddrinfo
> (and getnameinfo) to be thread-safe.
Yes, but this doesn't stop *BSD from providing a getaddrinfo
implementation that is not thread-safe - they merely document that
limitation on the man page.
> Gives me a headache, too, especially once it vectors off into
> the glibc nss code. These routines (__gethostbyname2_r is the
> likely suspect, __gethostbyaddr_r and __getservbyname_r might
> also get called) do have paths that could twiddle a glibc internal
> lock so it's not impossible there's an issue here, although at
> something less than a term-paper-depth look it doesn't SEEM like
> it should ever be able to block for very long.
I'd recommend to use strace for further analysis, perhaps using it's
-r option.
Regards,
Martin