delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2003/02/10/21:51:02

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
Date: Mon, 10 Feb 2003 21:51:57 -0500
From: Christopher Faylor <cgf AT redhat DOT com>
To: cygwin AT cygwin DOT com
Subject: Re: gethostbyname thread-safe?
Message-ID: <20030211025157.GA14792@redhat.com>
Reply-To: cygwin AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
References: <20030211012218 DOT 5594 DOT qmail AT web12501 DOT mail DOT yahoo DOT com> <Pine DOT GSO DOT 4 DOT 44 DOT 0302102103300 DOT 3160-100000 AT slinky DOT cs DOT nyu DOT edu>
Mime-Version: 1.0
In-Reply-To: <Pine.GSO.4.44.0302102103300.3160-100000@slinky.cs.nyu.edu>
User-Agent: Mutt/1.5.1i

On Mon, Feb 10, 2003 at 09:36:53PM -0500, Igor Pechtchanski wrote:
>On Mon, 10 Feb 2003, Ajay Nerurkar wrote:
>
>> Is Cygwin's gethostbyname thread-safe? From a web search I got the
>> impression that it wasn't and also that Cygwin does not have its
>> reentrant version gethostbyname_r. So, what does one do?
>>
>> Ajay
>
>Ajay,
>
>Looking at the code (src/winsup/cygwin/net.cc),
>
>964:#ifdef _MT_SAFE
>965:#define hostent_buf  _reent_winsup ()->_hostent_buf
>966:#else
>967:static struct hostent *hostent_buf = NULL;
>968:#endif
>969:
>970:/* exported as gethostbyname: standards? */
>971:extern "C" struct hostent *
>972:cygwin_gethostbyname (const char *name)
>
>you can see that there is a provision for reentrancy.  However,
>src/winsup/cygwin/acconfig.h #undef's _MT_SAFE.  OpenGroup's specification
>(<http://www.opengroup.org/onlinepubs/007904975/functions/gethostbyaddr.html>)
>says that "The gethostbyname() function need not be reentrant."
>See <http://wcug.wwu.edu/lists/ipng/199710/msg00002.html> for a good
>discussion of gethostbyname() thread-safety issues.

_MT_SAFE is always set to 1 in config.h unless the dll is built with
--disable-threadsafe.  I don't know that this option even works, though.

So gethostbyname should be threadsafe.

cgf

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019