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 17:03:40 -0400 From: Christopher Faylor To: cygwin AT cygwin DOT com Subject: Re: pthreads and sockets - Cannot register window class error Message-ID: <20040505210340.GB321@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> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4098E04B.34D2866B@dessent.net> User-Agent: Mutt/1.4.1i On Wed, May 05, 2004 at 05:38:35AM -0700, Brian Dessent wrote: >Jacek Trzmiel wrote: > >> void test() >> { >> /* go find out about the desired host machine */ >> struct hostent *he = gethostbyname(HOST); >> if (he == 0) { >> perror("gethostbyname"); >> exit(1); >> } > >Just a wild guess, but gethostbyname() is probably not reentrant and >can't be called from threads like that. 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. 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/