Subject: Re: gethostbyname_r() ?
To: JINMEI Tatuya / =?ISO-2022-JP?B?GyRCP0BMQEMjOkgbKEI=?= <jinmei@isl.rdc.toshiba.co.jp>
From: Hajimu UMEMOTO <ume@mahoroba.org>
List: tech-net
Date: 07/18/2006 15:50:06
Hi,
>>> Tue, 18 Jul 2006 15:01:44 +0900,
>>> JINMEI Tatuya <jinmei@isl.rdc.toshiba.co.jp> said:
jinmei> The major reason why getaddrinfo() was regarded as not thread-safe at
jinmei> that time was:
jinmei> - a (few) static variables used in getaddrinfo.c (this varied among
jinmei> BSD variants. I don't remember whether it was the case for NetBSD)
jinmei> - because the underlying libraries (res_xxx and/or getservbyname())
jinmei> were not thread safe
jinmei> But at least recent current code does not seem to have any of these
jinmei> problems, and the implementation now looks like thread safe.
I think getservbyname(3) is still not thread-safe. This issue will be
fixed by:
- _servent_data should be allocated per thread, or
- getaddrinfo(3) should use getservbyname_r(3).
Sincerely,
--
Hajimu UMEMOTO @ Internet Mutual Aid Society Yokohama, Japan
ume@mahoroba.org ume@{,jp.}FreeBSD.org
http://www.imasy.org/~ume/