Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe@cygwin.com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-help@cygwin.com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
Delivered-To: mailing list cygwin@cygwin.com
Date: Thu, 10 Jun 2004 12:04:27 -0500
From: Brian Ford <ford@vss.fsi.com>
Reply-To: cygwin@cygwin.com
To: cygwin@cygwin.com
Subject: Re: 1.5.9-1: socket() appears NOT to be thread-safe
In-Reply-To: <Pine.CYG.4.58.0406091547450.4904@fordpc.vss.fsi.com>
Message-ID: <Pine.CYG.4.58.0406101149230.3560@fordpc.vss.fsi.com>
References: <20040415174118.GA8644@coe.bosbc.com> <Pine.CYG.4.58.0405211650500.3524@fordpc.vss.fsi.com> <20040522005123.GB14563@coe.bosbc.com> <Pine.CYG.4.58.0406091547450.4904@fordpc.vss.fsi.com>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
X-IsSubscribed: yes

On Thu, 10 Jun 2004, Brian Ford wrote:

> I put a call to try_to_debug in find_winsock_errno when it returned the
> default EPERM.  Then, by setting
> CYGWIN="error_start=c:\cygwin\bin\gdb.exe" I can get a gdb pop up and do a
> back trace.  The error was:
>
> 10093
> Either the application has not called WSAStartup, or WSAStartup failed.
>
> and came from the socket call in cygwin_socket.
>
> So, given this is some sort of race condition, how do I debug the autoload
> code and find out if WSAStartup was actually called or if it failed?

Ok, I put another try_to_debug call in wsock_init just inside the if
(!wsock_started).  Sometimes I hit it first and the socket call succeeds.
But, sometimes I hit the one above first and the socket call fails.  In
the later case, wsock_started=1.  Any idea how that could happen?

-- 
Brian Ford
Senior Realtime Software Engineer
VITAL - Visual Simulation Systems
FlightSafety International
the best safety device in any aircraft is a well-trained pilot...

--
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/

