Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , 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: Wed, 5 May 2004 21:57:03 -0400 From: Christopher Faylor To: cygwin AT cygwin DOT com Subject: Re: pthreads and sockets - Cannot register window class error Message-ID: <20040506015703.GA22411@coe.bosbc.com> Reply-To: cygwin AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com References: <4098760F DOT CDB4F630 AT hot DOT pl> <4098E04B DOT 34D2866B AT dessent DOT net> <20040505210340 DOT GB321 AT coe DOT bosbc DOT com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.4.1i On Wed, May 05, 2004 at 07:01:01PM -0500, Brian Ford wrote: >On Wed, 5 May 2004, Steve Thompson wrote: >> On Wed, 5 May 2004, Christopher Faylor wrote: >>>Unless HOST is a numeric IP address, gethostbyname should be properly >>>reentrant. The only time gethostbyname is not thread safe is when it >>>is resolving a numeric IP. >> >>I believe that gethostbyname(), since it is returning a pointer to a >>statically allocated structure, cannot be thread safe under any >>circumstances. I always wrap it with a mutex until I'm done with the >>hostent structure. > >That's a good portable practice. But, if your going to essentially >call cgf a liar, please at least check the source. He uses a thread >specific buffer to return that data. It's obvious if you look. It's not actually "me" that does this. This practice was developed by the people who took the first stab at making cygwin thread safe. My recent signal work did make it a little easier to use thread local storage however. cgf -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/