>>>>> "J.Doe" == Anonymous <[EMAIL PROTECTED]> writes:
J.Doe> Converting crypto/bio/b_sock.c and ssl/ssl-cert.c to call gethostbyname_r(),
J.Doe> getservbyname_r(), and readdir_r() instead of the non-reentrant functions when
J.Doe> threads are enabled turns out to be ugly. The reentrant function semantics
J.Doe> aren't standard across popular platforms that support threads (Solaris 2.X,
J.Doe> HPUX 10.X, etc.). Apparently those functions were added to the platforms
J.Doe> before POSIX standardized them. Also the xxx_r() functions require large
J.Doe> buffers that complicate life on limited memory systems (Win 3.1).
<sigh> Locking these is going to be a significant performance hit, I
suspect. Does anyone care about systems that can't handle dinky memory
allocations for a hostent structure? If so, they should have special case
code that does locking, #ifdef'd out to protect the rest of us who couldn't
care less.
As for non-POSIX semantics, I _believe_ that Solaris 7 and HPUX 11.x use the
POSIX versions of xxx_r. For older, non-compliant versions, they can use the
locking code (or someone can contribute Yet Another OS Hack).
I _really_ don't want the limitations of broken OS's to cripple the
performance of good OS's.
--
Carson Gaspar -- [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED]
http://www.cs.columbia.edu/~carson/home.html
Queen Trapped in a Butch Body
______________________________________________________________________
OpenSSL Project http://www.openssl.org
Development Mailing List [EMAIL PROTECTED]
Automated List Manager [EMAIL PROTECTED]