Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT sources DOT redhat DOT com Delivered-To: mailing list cygwin AT sources DOT redhat DOT com Date: Wed, 2 May 2001 13:23:49 +0200 From: Corinna Vinschen To: cygwin Subject: Re: cvs broken on win2k after recent cygwin upgrade: "The descriptor is a file, not a socket" Message-ID: <20010502132349.J24200@cygbert.vinschen.de> Mail-Followup-To: cygwin References: <07fd01c0c3dc$cf05f730$0200a8c0 AT voyager> <20010414161237 DOT A4149051 AT MELON> <20010415090728 DOT B8359 AT redhat DOT com> <20010415184450 DOT V20490 AT cygbert DOT vinschen DOT de> <20010415153631 DOT D9015 AT redhat DOT com> <20010415225227 DOT W20490 AT cygbert DOT vinschen DOT de> <3AEE22F0 DOT 2E034CE AT ece DOT gatech DOT edu> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <3AEE22F0.2E034CE@ece.gatech.edu>; from cwilson@ece.gatech.edu on Mon, Apr 30, 2001 at 10:44:00PM -0400 On Mon, Apr 30, 2001 at 10:44:00PM -0400, Charles S. Wilson wrote: > Corinna Vinschen wrote: > > > >That's not quite correct. Cygwin uses ws2_32.dll if available. > > > >The reason is the Winsock2 functionality used for duplicating > > > >sockets. The old method is still implemented as a fallback, though. > > > > > > How is that implemented? I don't see it in the code. Where is > > > that implemented below? > > > > It's not that obvious. Since WsaStartup is called with a requested > > version of 2.2 in wsa_init(), the wsock32 code asks if winsock 2 is > > available on the system. If so, it will be used. The reason for > > loading ws2_32 explicitly in Cygwin is that the function pointers of > > the special winsock 2 functions couldn't be resolved otherwise. > > > > > Also the two tests for ws32_handle and wsock32_handle look reversed. > > > > [snip] > > > > It is. WsaStartup should only be called once regardless whether the > > first winsock function is a version 1.1 or version 2 function. The > > wsa_init function is only called if it's not already called from the > > other entry point. > > I'm confused. Corinna, does your statement mean that the code in > autoload.cc is correct as it is now (which is the same as it was at the > time this email was written) --- or does autoload.cc need to be > "corrected" to unreverse the ws32_handle and wsock32_handle tests? > (I'm going through my cygwin inbox trying to tie up some open threads > w.r.t "my" packages) Sorry for being unclear. What I meant was, it is correct as it is. That's what I meant to say but actually, it's not really correct. Unlike the other LoadDLLxxx functions a ipreliminary check for handle != NULL is missing. I will add it now. Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Developer mailto:cygwin AT cygwin DOT com Red Hat, Inc. -- Want to unsubscribe from this list? Check out: http://cygwin.com/ml/#unsubscribe-simple