[email@example.com: Re: ENOTSOCK errors with cygwin dll 1.3.21 and 1.3.22]
Sun May 25 21:02:00 GMT 2003
Perhaps we should revert to Winsock2 duplicating and reactivate
Jason's idea to just ignore the WSAENOTSOCK from close()?
----- Forwarded message from Corinna Vinschen <firstname.lastname@example.org> -----
> Date: Sat, 24 May 2003 11:15:56 +0200
> From: Corinna Vinschen <email@example.com>
> Subject: Re: ENOTSOCK errors with cygwin dll 1.3.21 and 1.3.22
> To: firstname.lastname@example.org
> Reply-To: email@example.com
> On Fri, May 23, 2003 at 12:44:57PM -0700, Abraham Backus wrote:
> > Specifically:
> > * fhandler_socket.cc (fhandler_socket::dup): On NT systems avoid
> > using WinSock2 socket duplication methods. Add comment.
> > This is what's causing me grief.
> > I built the 1.3.22 sources, commenting out the line:
> > if (! wincap.has_security ())
> > and my inetd apps work ok again.
> > I've been searching the web and archives to try and find out what's the
> > difference between WSADuplicateSocket and DuplicateHandle and I can't really
> > seem to find anything, other than an MS KB 150523 "BUG: Socket Inheritance
> > on Different Windows Platforms". I don't mind investigating further, but I
> > think I've come to a roadblock.... In the comment with the patch, it says
> > "Using WinSock2 methods for dup'ing sockets seem to collide with user
> > context switches under... some... conditions." Where can I find more
> > information on this user context collision problem?
> There's discussion on the cygwin-developers list. Basically what
> happened (before the above change was applied) was this:
> Start the following under SYSTEM account:
> fd = socket ();
> setuid (non-privileged-account);
> fd2 = dup (fd);
> close (fd2); <-- returns WSAENOTSOCK
> For some reason this does not happen if the process is started from a
> native windows process (e.g. cmd.exe) but it happens when the process
> is started from another Cygwin process. We still don't know why that
> happens (therefore the "...some..." comment) but using simple socket
> handle duplication instead of WinSock2 WSASocket/WSADuplicateSocket
> when duplication a socket resolved that problem.
> > I have WinXP Home SP1.
> Me, too. And note that it works for me!
> There was only one socket problem reported for Windows XP so far,
> KB article 319952 but it doesn't seem to be related. Sic.
----- End forwarded message -----
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Developer mailto:firstname.lastname@example.org
Red Hat, Inc.
More information about the Cygwin-developers