This is the mail archive of the cygwin@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: cvs broken on win2k after recent cygwin upgrade: "The descriptor is a file, not a socket"


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)

--Chuck

--
Want to unsubscribe from this list?
Check out: http://cygwin.com/ml/#unsubscribe-simple


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]