>>>>> "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]

Reply via email to